将 "loadings" 对象转换为数据框 (R)
Convert a "loadings" object to a dataframe (R)
我正在尝试将 "loadings" 类型的对象转换为 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
如何将这些数据放入数据框中?
从 "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
我正在尝试将 "loadings" 类型的对象转换为 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
如何将这些数据放入数据框中?
从 "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