【问题标题】:Convert a "loadings" object to a dataframe (R)将“加载”对象转换为数据框 (R)
【发布时间】:2018-12-18 03:00:19
【问题描述】:

我正在尝试将“加载”类型的对象转换为 R 中的数据框。但是,我尝试通过 as_tibble() 或 as.data.frame() 强制它没有奏效。代码如下:

iris_pca <- prcomp(iris[1:4], center = TRUE, scale. = TRUE)
iris_pca$rotation[,1:2] %>% 
  varimax() %>% 
  .$loadings

打印出来:

Loadings:
             PC1    PC2   
Sepal.Length  0.596 -0.243
Sepal.Width         -0.961
Petal.Length  0.570  0.114
Petal.Width   0.565       

                PC1  PC2
SS loadings    1.00 1.00
Proportion Var 0.25 0.25
Cumulative Var 0.25 0.50

如何将这些数据放入数据框中?

【问题讨论】:

    标签: r dataframe pca tibble


    【解决方案1】:

    "loadings" 对象中提取数值作为数值。将它们强制转换为矩阵。您可以在str(l) 中找到所需的尺寸和名称。

    data.frame(matrix(as.numeric(l), attributes(l)$dim, dimnames=attributes(l)$dimnames))
    #                      PC1         PC2
    # Sepal.Length  0.59593180 -0.24252635
    # Sepal.Width  -0.04181096 -0.96087188
    # Petal.Length  0.56955777  0.11438157
    # Petal.Width   0.56455387  0.06944826
    

    数据

    iris_pca <- prcomp(iris[1:4], center=TRUE, scale.=TRUE)
    l <- varimax(iris_pca$rotation[, 1:2])$loadings
    

    【讨论】:

      猜你喜欢
      • 2015-02-17
      • 2011-05-21
      • 2011-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-07
      • 1970-01-01
      • 2023-03-14
      相关资源
      最近更新 更多