今天的課好難呀,學(xué)的有點(diǎn)吃力。幾個(gè)注意點(diǎn):
-
?read.table產(chǎn)看幫助文檔 - 1.理解元素、標(biāo)量、向量的概念
元素可以是數(shù)字、字符串、字母等,字符串要用英文狀態(tài)下的雙引號(hào)引起來;
標(biāo)量是指一個(gè)元素組成的變量;向量是指多個(gè)有序排列的元素組成的變量;
補(bǔ)充:腳本窗口的打開:通常腳本窗口時(shí)隱藏的,可通過點(diǎn)擊文件下拉菜單,選擇“新建文件”-“R腳本”來打開此隱藏窗口。
- 常用R語言
x<- c(1,2,3)回車后出現(xiàn) 1 2 3,該命令意為將x定義為由元素1,2,3組成的向量。
x<- 1:10該命令意為從1-10之間所有的整數(shù)
x<- seq(1,10,by = 0.5)該命令意為1-10之間每隔0.5取一個(gè)數(shù)
x<- rep(1:3,times=2)該命令意為1-3之間所有的整數(shù), 重復(fù)2次
x[4]第4個(gè)元素;x[2:4]第2到4個(gè)元素;
x[-4]除了第4個(gè)元素之外剩余的元素
x[-(2:4)]除了第2-4個(gè)元素;
x[c(1,5)]第1個(gè)和第5個(gè)元素;
x[x==10]等于10的元素; 這是2個(gè)等號(hào)哦;
x[x<0]小于0的元素;
x[x %in% c(1,2,5)a %in% table表示存在于table中的a;
重要內(nèi)容
1.查看本地?cái)?shù)據(jù)
read.csv(file="XX.txt")是指將文件以數(shù)據(jù)框(表格)形式打開同時(shí)創(chuàng)建一個(gè)數(shù)據(jù)框;
read.table(file="xxx.txt",seq=''\t'',header=T)表示將xxx.txt文件以數(shù)據(jù)框形式打開,各元素之間用空格分隔開(/t或者直接空格都一樣),header=T表示是否將第一行作為列名,是選擇T,false則第一行即為具體數(shù)據(jù))。read.csv()函數(shù)默認(rèn)為head=T。
2.查看及修改行號(hào)、列數(shù)
colnames(變量名)查看列名;
rownames(變量名) 查看行名;
colnames(X)[1]<-"haha" 將變量X第一列名稱改為haha;
row.names=1表示將第1列的元素作為行號(hào);
3.導(dǎo)出數(shù)據(jù)框
write.table(X,file = "yu.txt",sep = ",",quote=F)將變量X相關(guān)元素導(dǎo)出為表格的形式,命名為yu.txt,各元素之間用,隔開,quote=F表示各字符串不加雙引號(hào),quote=T表示各字符串要加雙引號(hào),默認(rèn)是quote=T的狀態(tài))
4.數(shù)據(jù)的保存與重新加載
save.image(file="taotao.RData ")意為將當(dāng)前全部變量保存至taotao.RData文件,注意文件后綴為RData;
save(X,file=" taotaoA.RData")將變量X保存為taotaoA.RData;
load("taotao.RData")加載taotao.RData文件顯示其數(shù)據(jù);
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$列名#也可以提取列(此時(shí)可以tab鍵自動(dòng)補(bǔ)齊)
注意:第5條是在變量X的狀態(tài)下查看的,如果變量賦名為a,替換即可。
6.直接使用數(shù)據(jù)框中的變量
options(stringsAsFactors = T)
a <-data.frame(case=paste0("S",1:9),values=runif(9))
plot(a$case,a$values)
環(huán)境設(shè)置函數(shù)為options(),stringsAsFactors=Fasle意思為防止導(dǎo)入數(shù)據(jù)任何因子的轉(zhuǎn)換,=T則相反;
paste0與paste函數(shù),前者是指返回?zé)o空格的對(duì)象,具體可見20190506-R語言字符處理函數(shù)paste、paste0一文。例子可見:
xx<-c("ac","bg")
paste(xx,1:2)
[1] "ac 1" "bg 2"
paste0(xx,1:2)
[1] "ac1" "bg2"
不想多次輸入變量名可使用下列方法(還是剛才那個(gè)變量a為例哈):
- attach(a),plot(case,values)。做完后將a刪除出搜索環(huán)境 detach(a)。這種方法的局限性:兩個(gè)以上數(shù)據(jù)框的列名有沖突時(shí),同時(shí)attach會(huì)報(bào)錯(cuò)。
- 用with函數(shù),我覺得沒怎么懂
最后,記得清除所有變量哈 rm(list = ls())
文中代碼引用自生信星球,在此感謝。