将列中的值转换为R中现有数据框中的行名称

将列中的值转换为R中现有数据框中的行名称

我想将现有数据框的列中的值转换为行名称。是否可以在不导出数据帧然后通过row.names =调用重新导入数据帧的情况下执行此操作?


例如,我想转换:


 > samp 

     names Var.1 Var.2 Var.3

 1     A     1     5     0

 2     B     2     4     1

 3     C     3     3     2

 4     D     4     2     3

 5     E     5     1     4

成:


> samp.with.rownames 

     Var.1 Var.2 Var.3

A     1     5     0

B     2     4     1

C     3     3     2

D     4     2     3

E     5     1     4

谢谢


陪伴而非守候
浏览 1231回答 3
3回答

当年话下

这应该做:samp2 <- samp[,-1]rownames(samp2) <- samp[,1]简而言之,除了重新分配之外别无选择。编辑:纠正自己,也可以到位:分配rowname属性,然后删除列:R> df<-data.frame(a=letters[1:10], b=1:10, c=LETTERS[1:10])R> rownames(df) <- df[,1]R> df[,1] <- NULLR> df&nbsp; &nbsp;b ca&nbsp; 1 Ab&nbsp; 2 Bc&nbsp; 3 Cd&nbsp; 4 De&nbsp; 5 Ef&nbsp; 6 Fg&nbsp; 7 Gh&nbsp; 8 Hi&nbsp; 9 Ij 10 JR>&nbsp;

蝴蝶刀刀

在一条线上>&nbsp;samp.with.rownames&nbsp;<-&nbsp;data.frame(samp[,-1],&nbsp;row.names=samp[,1])
打开App,查看更多内容
随时随地看视频慕课网APP