新手幫助
(1)R的賦值符號(hào)不是等號(hào),而是<-
(2)在Console 控制臺(tái)輸入命令跃须,相當(dāng)于Linux的命令行
(3)R的代碼都是帶括號(hào)的,括號(hào)必須是英文的。
(4)顯示工作路徑 getwd()
(5)向量是由元素組成的池摧,元素可以是數(shù)字或者字符串。
(6)表格在R語(yǔ)言中改名叫數(shù)據(jù)框_
(7)別只復(fù)制代碼激况,要理解其中的命令作彤、函數(shù)的意思。函數(shù)或者命令不會(huì)用時(shí)乌逐,除了百度/谷歌搜索以外竭讳,用這個(gè)命令查看幫助:?read.table,調(diào)出對(duì)應(yīng)的幫助文檔浙踢,翻到example部分研究一下绢慢。
1.標(biāo)量和向量的區(qū)分
首先明確“元素”的意思,元素指的是數(shù)字或者字符串(用chr表示)等洛波,根據(jù)它可以區(qū)分兩個(gè)詞:
標(biāo)量:一個(gè)元素組成的變量
向量:多個(gè)元素組成的變量
(補(bǔ)充:一個(gè)向量是一排有序排列的元素胰舆,以后會(huì)用到把一個(gè)向量作為數(shù)據(jù)框中的一列的情況骚露。)
理解元素、向量和標(biāo)量
使用時(shí)缚窿,一般都會(huì)直接給變量定義棘幸,也就是“賦值”,字面意思是賦予這個(gè)變量一個(gè)數(shù)值(其實(shí)也不一定是數(shù)值倦零,還可以是字符串/數(shù)據(jù)框等等)够话。
2.從向量中提取元素
1)根據(jù)元素位置
這里的x是你剛才賦值的變量名,根據(jù)自己的情況來(lái)修改
x[4] #x第4個(gè)元素
x[-4]#排除法光绕,除了第4個(gè)元素之外剩余的元素
x[2:4]#第2到4個(gè)元素
x[-(2:4)]#除了第2-4個(gè)元素
x[c(1,5)] #第1個(gè)和第5個(gè)元素
(2)根據(jù)值
x[x==10]#等于10的元素
x[x<0]
x[x %in% c(1,2,5)]#存在于向量c(1女嘲,2,5)中的元素
Part2:數(shù)據(jù)框
將示例數(shù)據(jù)放在你的工作目錄下(5省P滥帷!重要)
示例數(shù)據(jù)是如何獲得的停蕉?(可跳過(guò))
(1)新建doudou.txt愕鼓,輸入以下(如果教程里讓你新建,又沒(méi)說(shuō)在哪里慧起,你就默認(rèn)在工作目錄下新建菇晃。)
X1,X2
A,1
B,
C,
D,3
E,
小抄截圖中顯示的NA表示空值,所以新建的時(shí)候像我一樣空著就好蚓挤。用以下命令即可獲得示例數(shù)據(jù)框:
X<-read.csv('doudou.txt')
image
(1)讀取本地?cái)?shù)據(jù)
(huahua.txt在示例數(shù)據(jù)里有磺送,記得一定要放在工作目錄里,否則報(bào)錯(cuò)灿意。)
sep估灿,header是比較常用的參數(shù),可以看幫助文檔嘗試?yán)斫馑鼈兊囊馑?/p>
(2)設(shè)置行名和列名
X<-read.csv('doudou.txt') #在示例數(shù)據(jù)里有doudou.txt 注意這里的變量X是一個(gè)數(shù)據(jù)框
colnames(X) #查看列名
rownames(X) #查看行名,默認(rèn)值的行名就是行號(hào)缤剧,1.2.3.4...
colnames(X)[1]<-"bioplanet"#有的公司返回?cái)?shù)據(jù)馅袁,左上角第一格為空,R會(huì)自動(dòng)補(bǔ)為x,用這個(gè)命令來(lái)修改
X<-read.csv(file = "huahua.txt",sep = " ",header =T,row.names=1)#最后row.names的意思是修改第一列為行名
(3)數(shù)據(jù)框的導(dǎo)出
write.table(X,file = "yu.txt",sep = ",",quote=F)#分隔符改為逗號(hào)荒辕,字符串不加雙引號(hào)(默認(rèn)格式帶由雙引號(hào))
(4)變量的保存與重新加載
這次沒(méi)有處理完的數(shù)據(jù)下次想接著用怎么辦?--學(xué)會(huì)保存和重新加載汗销。保存的格式是RData。
save.image(file="bioinfoplanet.RData")#保存當(dāng)前所有變量
save(X,file="test.RData")#保存其中一個(gè)變量
load("test.RData")#再次使用RData時(shí)的加載命令
(5)提取元素
- 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)秀寫法抵窒,而且這個(gè)命令還優(yōu)秀到不用寫括號(hào)的地步弛针,并且支持Tab自動(dòng)補(bǔ)全哦,不過(guò)只能提取一列)
(6)【選修部分】直接使用數(shù)據(jù)框中的變量
需要提示一下估脆,這里的case和values是兩個(gè)單純的列名钦奋,沒(méi)別的意思
options(stringsAsFactors = T)
a <-data.frame(case=paste0("S",1:9),values=runif(9))
plot(avalues)
--這種方法有個(gè)缺點(diǎn):數(shù)據(jù)框名a在代碼中重復(fù)出現(xiàn)(不符合懶惰(哦不,高效)的要求)
這里地?cái)?shù)據(jù)框名比較簡(jiǎn)短,可能你看不出不夠優(yōu)雅付材,本著花花懶惰的強(qiáng)迫癥精神朦拖,不能允許數(shù)據(jù)框名出現(xiàn)兩次。
save(X,file="test.RData")這句代碼如果報(bào)錯(cuò)object X not found厌衔,是為什么璧帝,應(yīng)該怎么解決?
1.X的大小寫是否一致富寿;2.file中是否有X數(shù)據(jù)的存在睬隶。應(yīng)當(dāng)檢查數(shù)據(jù)是否有誤,數(shù)據(jù)及代碼中的X大小寫是否一致页徐。