如何在 R 中设置行索引名称? (喜欢 Pandas 中的 DF.index.name)

How to set the row index name in R? (Like DF.index.name in Pandas)

如何在 R data.frame 对象中设置行索引名称?

我试着在 Whosebug 上寻找答案,但我什至不知道如何搜索它? https://whosebug.com/search?q=set+row+index+name+dataframe+R

这是一种解释,但他们正在将其转换为矩阵? How do I name the "row names" column in r

> dimnames(DF_c) = c("sample","cluster")
Error in `dimnames<-.data.frame`(`*tmp*`, value = c("sample", "cluster" : 
  invalid 'dimnames' given for data frame

在PythonPandas中,我会简单地做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")

奖金: 如何在写入 table 输出时不包含 "

您正确设置了行名和列名,您只是错过了 'write.table' 命令中删除引号的部分:

write.table(DF_c, "output.tsv", sep="\t", quote = FALSE)

你的列名在你的输出中覆盖行名的原因 table 似乎是 R 的一个怪异之处,你可以通过为你的行名创建一个带有列标签的列来解决它,然后把 table 写出来:

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)