我有一个包含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?我该如何解决这个问题?
答案 0 :(得分:0)
使用R stdio读取数据后,可以使用: data1 <-data [,apply(data,2,function(x)all(x> 0))] pca.result <-prcomp(data1,center = TRUE,scale。= TRUE) 该功能正在删除数据集中的零。