R预测单排

时间:2016-06-09 13:25:57

标签: r matrix pca prediction cross-validation

我试图使用留一法(LOO)交叉验证来预测PCA中的一些数据。

prcomp表现不错,但是当我来predict时,该功能会被沮丧

  

错误:' newdata'必须是矩阵或数据框

因为我提供的是矢量(即单行)而不是矩阵(即多行)。

我已尝试as.data.frameas.matrix及其各种变种,但我仍然遇到错误

  

错误:' newdata'没有与一个或多个原始列匹配的命名列

在我的示例中,loo是LOO索引,mydatamyinfo分别包含数据和元数据。

tdata = mydata[-loo,]
tinfo = myinfo[-loo,]

vdata = mydata[loo,]
vinfo = myinfo[loo,]

p = prcomp( tdata )
predict(p, newdata = vdata )

1 个答案:

答案 0 :(得分:1)

没关系,发现它:

predict(p, newdata = as.data.frame(t(vdata)) )