O.r*_*rka 5 indexing row r labels dataframe
如何在R data.frame对象中设置行索引名称?
我尝试在 stackoverflow 上寻找答案,但我什至不知道如何搜索它?https://stackoverflow.com/search?q=set+row+index+name+dataframe+R
这是一种解释,但他们将其转换为矩阵? 如何命名 r 中的“行名称”列
> dimnames(DF_c) = c("sample","cluster")
Error in `dimnames<-.data.frame`(`*tmp*`, value = c("sample", "cluster" :
invalid 'dimnames' given for data frame
Run Code Online (Sandbox Code Playgroud)
在 Python 中Pandas,我会简单地做,DF_c.index.name = "samples"但我不知道如何在R. 我注意到当我保存它时write.table(DF_c, "output.tsv", sep="\t")它把我的列标签作为行名,但我不能做类似的事情,colnames(DF_c) = c( "samples","cluster")因为只有 1 列?
# Clusters
DF_c = data.frame(last_iter$c)
rownames(DF_c) = row_labels
colnames(DF_c) = c( "cluster")
Run Code Online (Sandbox Code Playgroud)
奖励:如何不包括将"表写入输出的时间?
小智 2
您正在正确设置行名称和列名称,您只是错过了“write.table”命令中的一个部分来删除引号:
write.table(DF_c, "output.tsv", sep="\t", quote = FALSE)
Run Code Online (Sandbox Code Playgroud)
列名覆盖输出表中的行名的原因似乎是 R 的一个奇怪之处,您可以通过使用列标签为行名创建一列,然后写出表来解决它:
DF_c = data.frame(last_iter$c)
colnames(DF_c) = c( "cluster")
DF_c$rownames = row_labels
write.table(DF_c, "output.tsv", sep="\t", quote = FALSE)
Run Code Online (Sandbox Code Playgroud)