我有一个名为104的属性数据集data.我想使用prcompR中的函数将属性数减少到20 .
我这样做了:
pr = prcomp(data)
Run Code Online (Sandbox Code Playgroud)
但pr只包含prcomp该类的实例.如何将原始数据集中的属性数减少到20?
首先,prcomp进行主成分分析.主成分分析可以生成与变量一样多的组件.您正在寻找的是一个因素分析:
ff <- factanal(data,20)
Run Code Online (Sandbox Code Playgroud)
看到 ?factanal
如果您只想将前20个主要组件保留为新数据集,则可以从predict()函数中轻松选择它们.或者甚至自己计算:
x <- prcomp(USArrests, scale = TRUE)
tt <- predict(x) # the standard way
# below the matrix way
tt2 <- scale(USArrests,x$center,x$scale) %*% x$rotation
# with only 3 components instead of 4
tt3 <- predict(x)[,1:3]
tt4 <- scale(USArrests,x$center,x$scale) %*% x$rotation[,1:3]
Run Code Online (Sandbox Code Playgroud)
但请注意,将数据集减少到20个因子的因子分析与保留PCA的前20个主要组成部分不同.
| 归档时间: |
|
| 查看次数: |
4672 次 |
| 最近记录: |