R 中 PLSR 的 pls 包错误:组件数量无效

问题描述

我是 PLSR 的新手并且正在自学。

我目前拥有一种生物标志物的 6 个浓度的光谱数据,在 1015 个频率下测量。这对于每个浓度水平重复四次。我通过取每个频率的重复强度的平均值来汇总每个浓度的数据。

所以我的数据有

  • 结果中有 6 个观察结果,
  • 一个有 6 行(对应于结果中的值)和 1015 列的预测矩阵。

从这个 thread获取假数据模拟代码一个模拟示例是:

obs_no <- 6
col_no <- 1015
datasetpH <- data.frame(pH=rnorm(obs_no,5,1),ref=I( matrix(data=rnorm(obs_no*col_no),nrow = obs_no,ncol = col_no) )
                        )
pls::plsr(pH ~ ref,ncomp = 10,data=datasetpH,method="kernelpls")

这给了我以下错误

Error in pls::mvr(pH ~ ref,data = datasetpH,method = "kernelpls") : 
  Invalid number of components,ncomp

如果我在模拟示例中更改为 ncomp=5,模型就会运行。

  • 为什么在上面的模拟示例中 ncomp 被限制为 5?
  • 对于重复,是否应该对每个浓度和频率值的数据进行平均?或者,我是否可以保留数据中的重复数据,并在结果中包含 6*4 = 24 个浓度观察值(具有重复值)以及具有 24 行和 1015 列的相应预测矩阵?

我非常感谢有关上述内容的任何建议/指导 - 谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)