В этой строке выводится фрейм данных из 2 столбцов в виде списка:
preds2 <- predict(fit2, data)[-train]
Предположим, мы воспроизвели ваш код здесь:
df_ <- data.frame(x = c(1,2,3,4,1,2,3,4,1,2,3,4), y = c(0,0,0,0,0,0,0,0,0,0,0,0))
train=sample(c(TRUE ,FALSE), nrow(df_), rep=TRUE)
fit2 <- with(smooth.spline(x, y, df=i), data=df_, subset = train)
Когда я запускаю этот код: preds2 <- predict(fit2, data)[-train]
, во-первых, вывод predict()
не изменится, поскольку [-train]
- это выбор столбца, если вы хотите выбрать строки, сделайте это [-train,]
.
Во-вторых, выведите
$y
x y
1 0 0
2 0 0
3 0 0
4 0 0
5 0 0
6 0 0
7 0 0
8 0 0
9 0 0
10 0 0
11 0 0
12 0 0
Таким образом, вы просто получаете список данных.
Один из способов решения проблемы:
preds2 <- predict(fit2, df_)$y$y[-train]