第5天回趟家,surface突然抽風(fēng),弄了好久終于無限重啟好了。
以下內(nèi)容均引用自微信公眾號(hào)生信星球

思維導(dǎo)圖
寫在前面
- 1.在Console 控制臺(tái)輸入命令,相當(dāng)于Linux的命令行
- 2.向量是由元素組成的,元素可以是數(shù)字或者字符串。
- 3.表格在R語言中叫數(shù)據(jù)框
- 4.數(shù)據(jù)類型:
向量,矩陣,數(shù)組,數(shù)據(jù)框,list
向量
- 1.“元素”的意思,元素指的是數(shù)字或者字符串(用chr表示)
標(biāo)量:一個(gè)元素組成的變量
向量:多個(gè)元素組成的變量
x<-c(1,2,3) #把1,2,3組成的向量定義為X。
x<-(1:10) #從1-10之間所有的整數(shù)
x<-seq(1,10,by = 0.5) #1-10之間每隔0.5取一個(gè)數(shù)(注意這里是逗號(hào)不是分號(hào))
x<-rep(1:3,times=2) #1-3 重復(fù)2次
- 2.從向量中提取元素
- a.根據(jù)位置
#這里的x是你剛才賦值的變量名,根據(jù)自己的情況來修改
x[4] #x第4個(gè)元素
x[-4]#排除法,除了第4個(gè)元素之外剩余的元素
x[2:4]#第2到4個(gè)元素
x[-(2:4)]#除了……
x[c(1,5)] #第1個(gè)和第5個(gè)元素
- b.根據(jù)值的大小
x[x==10]#等于10的元素
x[x<0]
x[x %in% c(1,2,5)]#存在于向量c(1,2,5)中的元素
數(shù)據(jù)框(重要)
- 1.讀取實(shí)例數(shù)據(jù)框:
X<-read.csv('doudou.txt') - 也可用read.table
read.table(file = "huahua.txt",sep = "\t",header =T) #讀取文件,分隔符為Tab,有表頭
a<-read.table(file = "huahua.txt",sep = "\t",header =T)#把這個(gè)數(shù)據(jù)框賦給一個(gè)變量a
- 2.設(shè)置列名和行名
X<-read.csv('doudou.txt')
colnames(X) #查看列名
rownames(X) #查看行名,默認(rèn)值的行名就是行號(hào),1.2.3.4...
colnames(X)[1]<-"damon"#有的公司返回?cái)?shù)據(jù),左上角第一格為空,R會(huì)自動(dòng)補(bǔ)為x,用這個(gè)命令來修改
X<-read.csv(file = "huahua.txt",sep = "\t",header =T,row.names=1)#最后row.names的意思是修改第一列為行名
(用read.table命令可以撤銷修改,重載)
- 3.數(shù)據(jù)框?qū)С?/li>
write.table(X,file = "damon.txt",sep = ",",quote=F)#分隔符改為逗號(hào),字符串不加雙引號(hào)(默認(rèn)格式帶由雙引號(hào))

damon.txt
- 4.保存數(shù)據(jù)
save.image(file="bioinfoplanet.RData")#保存當(dāng)前所有變量
save(frame1,file="frame1.RData")#保存其中一個(gè)變量
load("frame1.RData")#再次使用RData時(shí)的加載命令
- 5.提取元素
- X[x,y]#第x行第y列
- X[x,]#第x行
- X[,y]#第y列(橫著寫第y列)
- X[y] #第y列(豎著寫第y列)
- X[a:b]#第a列到第b列
- X[c(a,b)]#第a列和第b列
- X$列名#也可以提取列(只能提取一列)
- 6.直接使用數(shù)據(jù)框中的變量
提取某兩列作散點(diǎn)圖,A,B列:
c <-data.frame(A=paste("S",c(1:50)),B=runif(50))
> plot(c$A,c$B)
- 簡(jiǎn)潔方法,
- 1.attach
將數(shù)據(jù)框名添加到搜索環(huán)境中:attach(c),作圖時(shí)就只需輸入列名(連$都不用了)。
attach(c)
plot(A,B)
- 2.with
with(c,{
+ plot(A,B)
x<<-summary(B) #賦值給x,<<的意思是作為全局變量,也就是出了with循環(huán)仍有效。
})
x #運(yùn)行完后輸出x
(跑出來了還不太理解,先把作業(yè)交了,破電腦)