在R中执行PCA与许多NA的关系。

问题描述 投票:0回答:1

我有一个包含10个变量和12,000个观测值的大型数据集,来自3种不同的系统(200个来自小池塘,600个来自河流,11200个来自湖泊)。我的数据集中有很多新农合,但我还是想执行PCA,只用我的数据框架的最后4列(第一列是描述性的站点,最后4列是化学数据),看看系统的差异有多大。

任何提示的方式来处理这个问题?

r pca missing-data
1个回答
0
投票

你可以用不同的方法解决缺失值的问题。下面我将对它们进行说明。

你应该使用包括NA值的变量的平均值,或者用线性回归来推算缺失值。

你应该使用 missMDA 然后 FactoMineRpcaMethods.下面是一个例子。

library(missMDA)
nPCs <- estim_ncpPCA(VIM::sleep)

Output 
nPCS$ncp
    3

completed_sleep <- imputePCA(VIM::sleep, ncp = nPCs$ncp, scale = TRUE)
PCA(completed_sleep$completeObs)

另一个例子是。

library(pcaMethods)
sleep_pca_methods <- pca(sleep, nPcs=2, method="ppca", center = TRUE)
imp_air_pcamethods <- completeObs(sleep_pca_methods)

如果你想深入 PCA 或 factoMiner 包,你应该访问其网站。http:/factominer.free.fr

© www.soinside.com 2019 - 2024. All rights reserved.