这行 "dat <- data.frame(obsnames = row.names(PC$x), PC$x)" 是什么意思?

What does this line mean "dat <- data.frame(obsnames = row.names(PC$x), PC$x)"?

我正在查看 R 中一个函数的源代码,其中的一部分是这样的:

dat <- data.frame(obsnames = row.names(PC$x), PC$x)

据我所知,您可以将一列指定为 row.names,因此第二个 PC$x 对我来说没有意义。有什么想法吗?

我使用这个获取源代码:

library(cummeRbund)
showMethods(PCAplot)
getMethod("PCAplot","CuffData")

上述命令 returns THIS text.

感谢任何帮助。

语句的整体思路是将 rownames 转换为 dataframe 的列之一并将其附加到实际数据。

注意事项:rownames(any_object) 不是数据框中的列。

我。使用一列“Data”创建数据框 df

   df <- data.frame(Data = c("Stack","OverFLow","Stack","EXchange"))
   df
   #       Data
   # 1    Stack
   # 2 OverFLow
   # 3    Stack
   # 4 EXchange

二.将 dfrownames 转换为列并将其绑定到 dfData 列并将其存储到新数据框 df1

要将 rownames 转换为数据框的其中一列,它只是创建一个新的数据框 df1,其中您的 first columnrow names 并且 second column 是旧数据的实际第一列。

   df1 <- data.frame(obsnames = rownames(df),df$Data)
   df1
   #    obsnames  df.Data
   # 1         1    Stack
   # 2         2 OverFLow
   # 3         3    Stack
   # 4         4 EXchange

三。更改数据框的 rownames

如果你想改变任何数据框的rownames,在这里它会像这样

    rownames(df1) <- c("first","second","third","fourth")
    df1
    #         obsnames  df.Data
    # first          1    Stack
    # second         2 OverFLow
    # third          3    Stack
    # fourth         4 EXchange

四.将 rownames 绑定到整个 dataframe

df <- data.frame(AA = 31:33, BB = 21:23, CC = 11:13, DD = 1:3)
df
#   AA BB CC DD
# 1 31 21 11  1
# 2 32 22 12  2
# 3 33 23 13  3

df1 <- data.frame(obsnames = rownames(df),df)
df1
#    obsnames AA BB CC DD
# 1         1 31 21 11  1
# 2         2 32 22 12  2
# 3         3 33 23 13  3