我对R相当陌生,并尝试使用插入符号包使用交叉验证来找到使多项式适合数据的最佳程度。我的数据框名为“数据”,因变量是y,自变量是x。这是我的尝试,其中最后一行返回最佳多项式的R ^ 2。
fm.beginTransaction().add(R.id.main_container, fragment2, "2").hide(fragment2).commit();
fm.beginTransaction().add(R.id.main_container,fragment1, "1").commit();
@Override
public void onClick(View v) {
Fragment another = fragment1;
if(active==fragment1){
another = fragment2;
}
fm.beginTransaction().hide(active).show(another).commit();
active = another;
}
运行循环时,我得到以下错误代码: fitpoly <- vector("list",10)
set.seed(123)
train.control <- trainControl(method = "cv", number = 10)
for (k in 1:10){
fitpoly[[k]]<- train(y ~ poly(x, k, raw = TRUE), data = data, method = "lm", trControl = train.control)$results[[3]]
}
fitpoly <- cbind(c(1:10),unlist(fitpoly, use.names=FALSE))
max(fitpoly[,2])
(数据,all.vars(Terms),drop = FALSE)中的错误:未定义的列已选中。我相当确定错误是由于我在poly中循环遍历了度数参数引起的,但是我不太了解如何解决它。使用立方样条曲线执行类似的循环时,自由度参数也有类似的问题。
[.data.frame
我提前感谢大家的帮助!