0

我第一次尝试使用ropls 包来执行 PLS-DA 和 OPLS-DA 预测模型,正如我在其文档中看到的那样,该算法提供了选项subset="odd",它将数据分成两个大小相等,所以 50%-50%。问题是我需要将我的数据分成 80% 的训练和 20% 的测试,当我阅读时,它说您可以使用所需子集的索引,但我无法做到。我已经尝试手动执行拆分,然后提取索引并在算法中使用该子集,但由于我对编程真的很陌生,我担心我做得不对......它总是告诉我:错误:“子集”必须设置为“奇数”或“x”行号的整数向量

有人能帮我吗?太感谢了!!

到目前为止我尝试过的代码看起来像这样(对不起,如果它是一团糟!):

set.seed(12345)

n_train<-0.8

n<-nrow(cancerx)

train<-sample(n,floor(n*n_train))

trainrf<-cancerx[train,]

testrf<-cancerx[-train,]

#PLS-DA predict

plsda1<-opls(cancerx[-1], cancerx$label, predI=1, subset="train")
4

0 回答 0