read.xlsx(filename,sheet=1,head=T)
如果你的第一行是数据,head=T会让第一列数据就会被强制为变量名,head=F则相反,这个需要xlsx包。
如果已经载入数据,数据名为a,那么使用colnames(a)=a[1,],就可以把a的行名变成a的第一行数据,然后a=a[-1,],删除第一行数据,就可以了。当然如果需要,也可以保留第一行数据。
扩展资料:注意事项
header=T表示将文件中第一行设为列名字。row.names= 1表示第一列设为行名。
例如:
data = read.csv("test.csv",row.names= 1) #表示第一行作为列名,第一列作为行名
data = read.csv("test.csv",header=F) #表示读入没有指定行列名的矩阵数据
因此header=T为默认条件,默认条件下没有行名,如果第一列为行名,则需在读入时指定row.names= 1。
R语言读入表格的函数有:
read.table()
read.csv(
read.csv2()
read.delim()
read.delim2()
其中,读入表格常常要考虑行名和列名的显示方式,例如你读入的表格第一行是否为各列的列名,第一列是否为各行的行名等等。
Summary:
中括号里面使用的函数要么返回行号/列号,要么返回布尔值。
例如:
1. 筛选:kkk[which(kkk$Abundance.ppm.>=1000),2]<-1000
2. 排序:data_up<-dataMC[order(as.vector(dataMC$RatioMC),decreasing=TRUE)[1:10],]
3. 新加变量:dataMC[dataMC$Accession%in%Down_regulated$Accession,]$class<-c("Down_regulated")
百度知道r语言 sampling 分层抽样之后怎么取剩下的数据
查看全部1个回答
邢小行要回家
TA获得超过223个赞
关注
成为第5位粉丝
对行号进行抽样,保存抽出样本的行号,在这些行号前加减号,取数据集的子集即可
>set.seed(1234)
>( x <- data.frame(a=sample(c(1,0),10,replace=T),b=11:20) )
a b
1 1 11
2 0 12
3 0 13
4 0 14
5 0 15
6 0 16
7 1 17
8 1 18
9 0 19
10 0 20
>( row_1 <- which(x$a==1) )
[1] 1 7 8
>( row_0 <- which(x$a==0) )
[1] 2 3 4 5 6 9 10
>( index1 <- sample(row_1,2) )
[1] 8 7
>( index0 <- sample(row_0,2) )
[1] 3 9
#抽样
>( sub1 <- x[c(index1,index0),] )
a b
8 1 18
7 1 17
3 0 13
9 0 19
#剩余
>( sub2 <- x[-c(index1,index0),] )
a b
1 1 11
2 0 12
4 0 14
5 0 15
6 0 16
10 0 20