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

我想将现有数据框架的列中的值转换为行名称。是可以做到这一点,而不导出数据帧,然后重新导入它与row.names = call?

例如我想转换:

 > 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

谢谢

最佳答案
这应该做:

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] <- NULL
R> df
   b c
a  1 A
b  2 B
c  3 C
d  4 D
e  5 E
f  6 F
g  7 G
h  8 H
i  9 I
j 10 J
R> 

转载注明原文:将列中的值转换为R中现有数据帧中的行名称 - 代码日志