2017-08-10 123 views
0

我正在学习R中的主成分分析。我找到了下面的参考文献,发现它相当不错 - https://shiring.github.io/machine_learning/2017/02/27/h2o。然而,虽然通过参考中的代码,我得到了以下错误:R - PCA功能

Statement : pcaOutput <- pca(t(arrhythmia[-c(280, 281)]), printDropped = FALSE, scale = TRUE, center = TRUE) 
Error  :Error in if (var(exprsData[i, ]) == 0) { : 
    missing value where TRUE/FALSE needed 

任何人都可以帮助我吗?

回答

0

我会尽力帮助...我没有按照教程

我没有rsparkling包,所以我没有安装。

我看到这个在安装过程中:

Performing one-time download of h2o.jar from 
    http://s3.amazonaws.com/h2o-release/h2o/rel-vajda/3/Rjar/h2o.jar 
(This could take a few minutes, please be patient...) 

由于它安装jar,是Java安装配置是否正确?我的意思是与解决路径,rJava检测您的Java版本等

而且sc <- spark_connect(master = "local", version = "2.0.0")要求安装星火所以我从R.运行spark_install(version = "2.0.0")在运行spark_connect我把它连接到java.org.apache.spark.deploy。 SparkSubmit正如我的防火墙所说的,所以我创建了相应的规则。

我跟着教程的其余部分,我只好装pcaGoPromoter

library(devtools) 
install_github("Bioconductor-mirror/pcaGoPromoter") 

最后...我能够重现

pcaOutput <- pca(t(arrhythmia[-c(280, 281)]), printDropped = FALSE, scale = TRUE, center = TRUE) 

如果你打开RStudio面板表你将看到它有NA值,所以我改变线为:

pcaOutput <- pca(na.omit(t(arrhythmia[-c(280, 281)])), printDropped = FALSE, scale = TRUE, center = TRUE) 

它的工作原理:)