gpt4 book ai didi

r - 作为数据框的 Princomp 摘要

转载 作者:行者123 更新时间:2023-12-03 08:58:25 29 4
gpt4 key购买 nike

我希望将 princomp PCA(必须是 princomp)的摘要作为数据框,以便我可以使用 kable 格式化表格以生成报告。

这是我尝试使用的代码,从中应该清楚我想要做什么;

kable( as.data.frame(summary(pca.data)) )

我收到此错误:

Error in as.data.frame.default(summary(pca.data)) : cannot coerce class ""summary.princomp"" to a data.frame

编辑:我希望 sum.data 的输出作为数据帧,以便我可以使用 kable 函数对其进行格式化。

library("knitr")
library("kableExtra")

set.seed(1)
data <- data.frame(
X = sample(1:10), X2 = sample(1:10), X3 = sample(1:10), X4 = sample(1:10),
X5 = sample(1:10)
)

pca.data <- princomp(data, cor=TRUE)
sum.data <- summary(pca.data)
kable(as.data.frame(sum.data))

最佳答案

假设您正在尝试获取下表

Importance of components:
Comp.1 Comp.2 Comp.3 Comp.4 Comp.5
Standard deviation 1.4126051 1.1441266 0.9542661 0.63918520 0.61346533
Proportion of Variance 0.3990906 0.2618052 0.1821247 0.08171154 0.07526794
Cumulative Proportion 0.3990906 0.6608958 0.8430205 0.92473206 1.00000000

它实际上并未存储在任何地方,仅在运行 stats:::print.summary.princomp 函数时创建。您可以提取该函数中生成该表的部分。例如

pca_importance <- function(x) {
vars <- x$sdev^2
vars <- vars/sum(vars)
rbind(`Standard deviation` = x$sdev, `Proportion of Variance` = vars,
`Cumulative Proportion` = cumsum(vars))
}

现在你有了一个 ktable 可以使用的对象

kable( pca_importance(sum.data) )

关于r - 作为数据框的 Princomp 摘要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53157693/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com