我想将现有数据框的一列中的数值转换为行名。是否可以在行名称前不加X来做到这一点?
示例数据框:
df1 = data.frame(names=c(111,20,32,45),
var=c("Gene1","Gene2","Gene3","Gene4"))
收件人:
df2 = df1
rownames(df2) = make.names(df2$names, unique=TRUE)
谢谢
答案 0 :(得分:1)
您可以使用column_to_rownames
中的tibble
,这也会删除已转换为行名的列,即
library(tibble)
column_to_rownames(df1, var = 'names')
# var
#111 Gene1
#20 Gene2
#32 Gene3
#45 Gene4
答案 1 :(得分:0)
只需这样做:
rownames(df2) = df2$names
但是,如果您有重复的名称,并且要首先删除重复的名称,则需要执行以下操作:
df2 = df2[!duplicated(df2$names),]
rownames(df2) = df2$names
希望有帮助。