數(shù)據(jù)結(jié)構(gòu)
向量
向量和標(biāo)量
標(biāo)量是0階張量(一個數(shù))恋昼,是11的谒兄;
向量是一階張量独令,是1n的;
張量可以給出所有坐標(biāo)間的關(guān)系好芭,是n*n的燃箭。
1.向量賦值
x<- c(1,2,3) #常用的向量寫法,意為將x定義為由元素1舍败,2招狸,3組成的向量。
x
x<- 1:10 #從1-10之間所有的整數(shù)
x
x<- seq(1,10,by = 0.5) #1-10之間每隔0.5取一個數(shù)(注意是逗號不是分號)
x
x<- rep(1:3,times=2) #1-3 重復(fù)2次
x
向量.png
2.從向量中提取元素
(1)根據(jù)元素位置提取元素
#這里的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個元素
按位置提取.png
(2)根據(jù)值提取元素
x[x==10]#等于10的元素
x[x<0]
x[x %in% c(1,2,5)]#存在于向量c(1,2厕诡,5)中的元素
根據(jù)值提取元素.png
數(shù)據(jù)框
1.讀取本地數(shù)據(jù)
a <- read.table("C:\\Users\\nanli\\Desktop\\example.txt",sep = "\t",header = T)
#csv 文件是用逗號分隔的,sep = ",",tsv 文件是用制表符分隔的而线,故而 sep = "\t"
#常用的分隔符還有空格 sep = " "
讀取本地文件example.png
2.設(shè)置行名和列名
X<-read.csv("C:\\Users\\nanli\\Desktop\\example.txt")
colnames(X) #查看列名
rownames(X) #查看行名,默認(rèn)值的行名就是行號,1.2.3.4...
colnames(X)[1]<-"bioplanet"#有的公司返回數(shù)據(jù)葛作,左上角第一格為空,R會自動補為x,用這個命令來修改
X
設(shè)置行名和列名.png
3.數(shù)據(jù)框的導(dǎo)出
write.table(X,file = "C:\\Users\\nanli\\Desktop\\yu.txt",sep = ",",quote=F)#分隔符改為逗號猖凛,字符串不加雙引號(默認(rèn)格式帶由雙引號)
yu.txt
4.變量的保存與重新加載
#這次沒有處理完的數(shù)據(jù)下次想接著用怎么辦?--學(xué)會保存和重新加載赂蠢。保存的格式是RData。
save.image(file="bioinfoplanet.RData")#保存當(dāng)前所有變量
save(X,file="test.RData")#保存其中一個變量
load("test.RData")#再次使用RData時的加載命令
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)秀寫法辨泳,而且這個命令還優(yōu)秀到不用寫括號的地步虱岂,并且支持Tab自動補全哦,不過只能提取一列)
練習(xí)
如果代碼報錯菠红,對象X沒有被找到第岖,檢查變量是不是X
思維導(dǎo)圖
Day4.jpg