我正在使用r中的数据框,其中的行名有意义。因此,我想给行名列命名。我该怎么做呢?

最佳答案

听起来您想将行名转换为data.frame的适当列。例如:

# add the rownames as a proper column
myDF <- cbind(Row.Names = rownames(myDF), myDF)
myDF

#           Row.Names id val vr2
# row_one     row_one  A   1  23
# row_two     row_two  A   2  24
# row_three row_three  B   3  25
# row_four   row_four  C   4  26

如果要删除原始行名:
rownames(myDF) <- NULL
myDF
#   Row.Names id val vr2
# 1   row_one  A   1  23
# 2   row_two  A   2  24
# 3 row_three  B   3  25
# 4  row_four  C   4  26

或者,如果所有数据都属于同一类(即所有数字或所有字符串),则可以转换为矩阵并命名为dimnames
myMat <- as.matrix(myDF)
names(dimnames(myMat)) <- c("Names.of.Rows", "")
myMat

# Names.of.Rows id  val vr2
#   row_one   "A" "1" "23"
#   row_two   "A" "2" "24"
#   row_three "B" "3" "25"
#   row_four  "C" "4" "26"

关于r - 如何在R中命名 “row names”列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17514648/

10-12 19:43