У меня есть два списка в R, которые содержат несколько data.frames. Один список представляет собой набор обучающих данных, а другой - набор тестовых данных. Я хотел бы использовать обучающие данные для обучения модели, а затем создавать прогнозы для тестовых данных. Пока что я могу использовать список тренировок, чтобы делать прогнозы для одного набора данных (survey_points - это объект data.frame). В результате получается список предсказаний, соответствующих каждому обучающему data.frame в объекте train_list, идеально:
true_preds = lapply(train_list, function(x) predict(ranger(bc_title4 ~ ACurr15 + Bath15 + Comp13 + East15 + Mcur15 + Nor15 + vrm15 + Slop11 + MWav13 + X1IC2CR3IS4,
data = x), survey_points)$predictions)
Тем не менее, когда я пытаюсь использовать свой список обучающих data.frames, чтобы предсказать мой список тестовых data.frames, используя следующий код:
test_preds = lapply(train_list, function(x) predict(ranger(bc_title4 ~ ACurr15 + Bath15 + Comp13 + East15 + Mcur15 + Nor15 + vrm15 + Slop11 + MWav13 + X1IC2CR3IS4,
data = x), test_list)$predictions)
Я получаю следующую ошибку и трассировку:
Error in data[, forest$independent.variable.names, drop = FALSE] :
incorrect number of dimensions
7.
predict.ranger.forest(forest, data, predict.all, num.trees, type,
se.method, seed, num.threads, verbose, object$inbag.counts,
...)
6.
predict(forest, data, predict.all, num.trees, type, se.method,
seed, num.threads, verbose, object$inbag.counts, ...)
5.
predict.ranger(ranger(bc_title4 ~ ACurr15 + Bath15 + Comp13 +
East15 + Mcur15 + Nor15 + vrm15 + Slop11 + MWav13 + X1IC2CR3IS4,
data = x), test_list)
4.
predict(ranger(bc_title4 ~ ACurr15 + Bath15 + Comp13 + East15 +
Mcur15 + Nor15 + vrm15 + Slop11 + MWav13 + X1IC2CR3IS4, data = x),
test_list)
3.
predict(ranger(bc_title4 ~ ACurr15 + Bath15 + Comp13 + East15 +
Mcur15 + Nor15 + vrm15 + Slop11 + MWav13 + X1IC2CR3IS4, data = x),
test_list)
2.
FUN(X[[i]], ...)
1.
lapply(train_list, function(x) predict(ranger(bc_title4 ~ ACurr15 +
Bath15 + Comp13 + East15 + Mcur15 + Nor15 + vrm15 + Slop11 +
MWav13 + X1IC2CR3IS4, data = x), test_list))