R語(yǔ)言數(shù)據(jù)類(lèi)型
新手注意需要注意的點(diǎn):
R的代碼都是帶括號(hào)的憋他,括號(hào)必須為英文(其他標(biāo)點(diǎn)也必須為英文)
一定要變量保持大小寫(xiě)的統(tǒng)一9隆:致 !
1.向量
x<- c(1,2,3) #常用的向量寫(xiě)法侦锯,意為將x定義為由元素1驼鞭,2,3組成的向量尺碰。
x
x<- 1:10 #從1-10之間所有的整數(shù)
x
x<- seq(1,10,by = 0.5) #1-10之間每隔0.5取一個(gè)數(shù)(注意是逗號(hào)不是分號(hào))
x
x<- rep(1:3,times=2) #1-3 重復(fù)2次
#同一個(gè)變量多次賦值以最后一次為準(zhǔn)
#environment里可以查看變量
1.1向量中提取元素
根據(jù)元素和根據(jù)值
x[x==10]#等于10的元素
x[c(1,5)] #第1個(gè)和第5個(gè)元素
x[x %in% c(1,2,5)]#存在于向量c(1挣棕,2汇竭,5)中的元素
2.數(shù)據(jù)框
2.1讀取數(shù)據(jù)
read.table(file = "huahua.txt",sep = "\t",header =T) #讀取文件,分隔符為T(mén)ab穴张,有表頭
a<-read.table(file = "huahua.txt",sep = "\t",header =T)
2.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的意思是修改第一列為行名
csv就是逗號(hào)分割的意思玻驻,當(dāng)然sep必須是逗號(hào)。header也是默認(rèn)有標(biāo)題的偿枕。fill是默認(rèn)填充的璧瞬,即遇到行不相等的情況,空白域自動(dòng)添加既定值渐夸。
參數(shù)sep允許你導(dǎo)入那些使用逗號(hào)以外的符號(hào)來(lái)分隔行內(nèi)數(shù)據(jù)的文件,可以使用sep="\t"讀取以制表符分隔的文件嗤锉。
參數(shù)的默認(rèn)值為sep="",即表示分隔符可為一個(gè)或多個(gè)空格墓塌、制表符瘟忱、換行符或回車(chē)符。
2.3數(shù)據(jù)框的導(dǎo)出
write.table(X,file = "yu.txt",sep = ",",quote=F)#分隔符改為逗號(hào)苫幢,字符串不加雙引號(hào)(默認(rèn)格式帶由雙引號(hào))
2.4儲(chǔ)存和加載數(shù)據(jù)(RData)
save.image(file="bioinfoplanet.RData")#保存當(dāng)前所有變量
save(frame1,file="frame1.RData")#保存其中一個(gè)變量
load (frame1.RData)#使用時(shí)的加載命令
2.5提取元素
> X[1,]
bioplanet X2
1 A 1
> X[,1]
[1] A B C D E
Levels: A B C D E
> X[1]
bioplanet
1 A
2 B
3 C
4 D
5 E
> X[1,1]
[1] A
Levels: A B C D E
#注意區(qū)別
- X[a:b]#第a列到第b列
- X[c(a,b)]#第a列和第b列
- X$列名#也可以提取列
2.6直接使用數(shù)據(jù)框中的變量
a <-data.frame(case=paste("S",c(1:50)),values=runif(50))
> plot(a$case,a$values)
補(bǔ)充:避免重復(fù)輸入對(duì)象名稱(chēng)访诱,可是用with或attach
a <-data.frame(case=paste("S",1:50),values=runif(50))
plot(a$case,a$values)
attach(a)
plot(case,values)
with(a,{
plot(case,values)
x<<-summary(values) #求和并賦值給x,<<的意思是作為全局變量,也就是出了大括號(hào)仍有效韩肝。
})
問(wèn)題回答:大概是因?yàn)槿缦拢](méi)有注意大小寫(xiě)4ゲ恕!0ЬN邢唷!)
> x <- read.csv('doudou.txt')
> x <- read.table(file = 'huahua.txt',sep = '\t',header = T)
> write,table(x,file='yu.txt',sep='',quote=F)
Error: unexpected ',' in "write,"
> write.table(x,file='yu.txt',sep='',quote=F)
>
> save.image(file='123.RData')
> save(X,file='test.RData')
Error in save(X, file = "test.RData") : object ‘X’ not found
> write.table(X,file='yu.txt',sep='',quote=F)
Error in is.data.frame(x) : object 'X' not found
> X<- read.table(file = 'huahua.txt',sep = '\t',header = T)
> write.table(X,file='yu.txt',sep='',quote=F)
一定要保持變量的統(tǒng)一剩蟀!