错误无法使用prcomp将常量/零列重新调整为单位方差

时间:2017-11-17 17:34:35

标签: pca

我有一个包含290个观察数据和24475个特征的数据集, 我将数据集拆分为使用以下代码训练数据集和测试数据集:

set.seed(107)  y< -dim(data)[2] -1  需要(尖)  inTrain< - createDataPartition(y = data [,y],p = precent_of_partition,list = FALSE)  培训< - 数据[inTrain,]  测试< - data [-inTrain,]

当我尝试在火车上执行pca时:  pca.result< - prcomp(expression_matrix,center = TRUE,scale。= TRUE)

我收到此错误:

prcomp.default出错(expression_matrix,center = TRUE,scale。= TRUE):  不能将常数/零列重新调整为单位方差

但如果我在所有数据集上执行pca,我根本就不会得到错误并且它可以正常工作,

有人可以澄清什么是hepping?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

使用R stdio读取数据后,可以使用: data1 <-data [,apply(data,2,function(x)all(x> 0))] pca.result <-prcomp(data1,center = TRUE,scale。= TRUE) 该功能正在删除数据集中的零。