作为数据帧的Princomp摘要
我想将princomp PCA的摘要(必须是princomp)作为一个数据帧,这样我就可以用kable为报告格式化表 这是我尝试使用的代码,应该可以清楚地看出我想做什么作为数据帧的Princomp摘要,r,R,我想将princomp PCA的摘要(必须是princomp)作为一个数据帧,这样我就可以用kable为报告格式化表 这是我尝试使用的代码,应该可以清楚地看出我想做什么 kable( as.data.frame(summary(pca.data)) ) 我得到这个错误: as.data.frame.default(摘要(pca.data))中出错:无法强制 将“summary.princomp”类初始化为data.frame 编辑:我希望sum.data的输出作为数据帧,这样我就可以使用kab
kable( as.data.frame(summary(pca.data)) )
我得到这个错误:
as.data.frame.default(摘要(pca.data))中出错:无法强制
将“summary.princomp”类初始化为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))
库(“knitr”)
图书馆(“kableExtra”)
种子(1)
数据假设您试图获得下表
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))
}
我用一些示例代码编辑了这个问题。您希望将输出的哪一部分用于数据帧?看看名称(sum.data)
-摘要由9个不同的项目组成,这只是我想要的摘要运行时的打印输出(每个组件的差异等)。我现在有答案了,没关系。
kable( pca_importance(sum.data) )