我需要转置一个大数据框,所以我使用了:
df.aree <- t(df.aree)
df.aree <- as.data.frame(df.aree)
这是我得到的:
df.aree[c(1:5),c(1:5)]
10428 10760 12148 11865
name M231T3 M961T5 M960T6 M231T19
GS04.A 5.847557e+03 0.000000e+00 3.165891e+04 2.119232e+04
GS16.A 5.248690e+04 4.047780e+03 3.763850e+04 1.187454e+04
GS20.A 5.370910e+03 9.518396e+03 3.552036e+04 1.497956e+04
GS40.A 3.640794e+03 1.084391e+04 4.651735e+04 4.120606e+04
我的问题是我需要消除新的列名(10428、10760、12148、11865),因为我需要使用第一行作为列名。
我尝试使用col.names()
功能,但没有得到所需的东西。
你有什么建议吗?
编辑
谢谢你的建议!!!使用它,我获得:
df.aree[c(1:5),c(1:5)]
M231T3 M961T5 M960T6 M231T19
GS04.A 5.847557e+03 0.000000e+00 3.165891e+04 2.119232e+04
GS16.A 5.248690e+04 4.047780e+03 3.763850e+04 1.187454e+04
GS20.A 5.370910e+03 9.518396e+03 3.552036e+04 1.497956e+04
GS40.A 3.640794e+03 1.084391e+04 4.651735e+04 4.120606e+04
GS44.A 1.225938e+04 2.681887e+03 1.154924e+04 4.202394e+04
现在,我需要在因子列中转换行名(GS ..)。
数据帧并非天生就意味着可转置。如果是,则应该改为矩阵形式。
—
Richie Cotton
同意;
—
mbq 2011年
t
数据帧的效率也很低。如果可以,请使用矩阵。
转换其中包含字符串列的data.frame会将所有值转换为字符串!不好。解决方法请参见下面的答案。
—
汤米”,
colnames(df.aree)<-df.aree[1,];df.aree<-df.aree[2:nrow(df.aree),]
吗?