繁体   English   中英

如何在第一栏中使用带有因子的数据在R中应用PCA?

[英]How to apply PCA in R with using data with a factor in its first column?

我的数据由16列组成。 第一个因素。 我其余的列是一组数字。 当我在R中应用了PCA方法时,我发现PCA无法应用于我的data.frame,因为后者在第一列中包含因子。

library(FactoMineR)
data(MyData)
res.pca = PCA(MyData[,1:10], scale.unit=TRUE, ncp=5, graph=T)

它给了我这个错误:

Error in colMeans(X, na.rm = TRUE) : 'x' must be numeric
And : Warning message:
In PCA(data, scale.unit = TRUE, ncp = 5, graph = T) :
Missing values are imputed by the mean of the variable: you should use the 
imputePCA function of the missMDA package

当我更改最近被声明为带有一组数字的因子的第一个列时,它起作用了,并且给了我很好的结果。 我可以在轴上仅用数字绘制所有相关轴,而我不需要因子。
如果您能帮助我,我将不胜感激?

您应该提到第一列是一个因素。 因此,尝试执行以下操作:

library(FactoMineR)
library(missMDA)
data(MyData)
## Imputation
res <- imputePCA(MyData[,2:10],ncp=5)
mydata=cbind(myData[,1],res$completeObs)
res.pca = PCA(mydata,quali.sup=1, scale.unit=TRUE, ncp=5, graph=T)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM