復(fù)習(xí)Day4內(nèi)容,二次學(xué)習(xí)Day5內(nèi)容
R-project管理多個R工作目錄
- 設(shè)置工作目錄:
setwd()
- 查看工作目錄:
getwd()
- 并行多個項目,多個工作目錄
顯示文件列表
dir()
list.files()
加減乘除
直接輸入后回車
賦值
<-
alt+-
x
[1] 2
[1]意思是結(jié)果的第一個
賦值后,x會顯示在右上角的框,Environment里的Value列表里
刪除變量
a<-3
b <- 1
c <- 4
u <- 5+6
rm(b)
rm(u,c)
rm(list = ls())#清空所有變量
列出歷史命令
history()
相當(dāng)于鼠標(biāo)單擊右上角的history標(biāo)簽
顯示歷史命令后,選擇一個,雙擊,會做console運(yùn)行,可以修改該命令
清空控制臺
ctrl+l
Day5數(shù)據(jù)結(jié)構(gòu)
- 向量是由元素組成的,元素可以是數(shù)字或者字符串。
- 表格在R語言中改名叫數(shù)據(jù)框
- 函數(shù)或者命令不會用時,除了百度/谷歌搜索以外,用這個命令查看幫助:?read.table,調(diào)出對應(yīng)的幫助文檔,翻到example部分研究一下
- 數(shù)據(jù)類型
向量(vector)??重要
矩陣(Matrix)
數(shù)組(Array)
數(shù)據(jù)框(Data frame)??重要
List
vector,data frame
向量
標(biāo)量與向量
- 元素指的是數(shù)字或者字符串(用chr表示)等
- 標(biāo)量:一個元素組成的變量
- 向量:多個元素組成的變量
一個向量是一排有序排列的元素,以后會用到把一個向量作為數(shù)據(jù)框中的一列的情況。
c(1,2,3) - 變量x可以賦值一個元素的標(biāo)量,可以是一個數(shù)字,也可以是另一個元素 x<-1, x<-a
- 變量x可以賦值一個多個元素有序排列的向量,比如賦值一行或者一列的數(shù)據(jù)
x<- c(1,2,3) #常用的向量寫法,意為將x定義為由元素1,2,3組成的向量。
x<- 1:10 #從1-10之間所有的整數(shù)
x<- seq(1,10,by = 0.5) #1-10之間每隔0.5取一個數(shù)(注意是逗號不是分號)
x<- rep(1:3,times=2) #1-3 重復(fù)2次 - x賦值會被覆蓋
從向量中提取值
根據(jù)元素位置
x[4] #x第4個元素
x[-4]#排除法,除了第4個元素之外剩余的元素
x[2:4]#第2到4個元素
x[-(2:4)]#除了第2-4個元素
x[c(1,5)] #第1個和第5個元素
- x[4]
-
[]里面可以是數(shù)字,標(biāo)是第幾個元素,也可以是-數(shù)字,標(biāo)是除第x以外的元素,也可以是1:3, 第一個到第三個元素,也可以是-(1:3),也可以是c(1:3), 提取向量中的向量元素
圖片5-2.png
根據(jù)元素的值提取
x[x==10]#等于10的元素
x[x<0]
x[x %in% c(1,2,5)]#存在于向量c(1,2,5)中的元素
x[c(1,5)] 與 x[x %in% c(1,2,5)]的區(qū)別展示,第一個是位置,第二個是值
數(shù)據(jù)框
- 新建數(shù)據(jù)文檔在工作目錄下
- X<-read.csv('test.txt')
- test是文件名
- .txt是該文檔后綴
讀取本地數(shù)據(jù)
read.table(file="test.txt",sep="\t",header=T)
直接讀取這個數(shù)據(jù)框
Note: 后面的兩個命令沒理解什么意思
a<-read.table(file="test.txt",sep="\t",header=T)
給變量a賦值這個數(shù)據(jù)框
設(shè)置行名和列名
- colnames(X)
- rownames(X) #查看行名,默認(rèn)值的行名就是行號,1.2.3.4...
注意區(qū)分大小寫 -
colnames(X)[1]<-"bioplanet"
修改第一列第一個為bioplanet,行名
圖片5-4.png
X<-read.csv(file = "huahua.txt",sep = " ",header =T,row.names=1)#最后row.names的意思是修改第一列為行名
沒有理解
數(shù)據(jù)框的導(dǎo)出
write.table(X,file = "yu.txt",sep = ",",quote=F)
分隔符改為逗號,字符串不加雙引號(默認(rèn)格式帶由雙引號)
變量的保存與重新加載
save.image(file="bioinfoplanet.RData")
save(X,file="test.RData")
load("test.RData")
提取元素
- X[x,y]#第x行第y列
- X[x,]#第x行
- X[,y]#第y列
- X[y] #也是第y列
- X[a:b]#第a列到第b列
- X[c(a,b)]#第a列和第b列
- X$列名#也可以提取列(優(yōu)秀寫法,而且這個命令還優(yōu)秀到不用寫括號的地步,并且支持Tab自動補(bǔ)全哦,不過只能提取一列)
X是變量名,比如X賦值了一個數(shù)據(jù)框table,[]中的x是第幾行的意思,這里的x跟變量X意義不同
1,2 1行2列
1, 第1行
,1 第1列
1 第1列
1:2 第1列到第2列
c(1,3) 第1列和第3列 #c必須小寫!!!
行???
X$列名,必須是列名,不能是第一列的數(shù)字,上面的1,2,3都是第幾行第幾列的數(shù)字,跟行名列名無關(guān)
使用數(shù)據(jù)框
options(stringsAsFactors = T)
a <-data.frame(case=paste0("S",1:9),values=runif(9))
plot(avalues)
沒有看懂
保存腳本
回答
save(X,file="test.RData")這句代碼如果報錯object X not found,是為什么,應(yīng)該怎么解決?
- 可能原因
X沒有被賦值數(shù)據(jù)框或者向量,所以無法保存變量X
或者前面賦值的時候變量用的是符號x小寫,那這里用大寫X也會找不到 - 解決方法
1,先看前面的變量是否是X,是否大寫
2,變量符號沒有問題的話,查看是不是賦值了,還是賦值后被刪掉了?