所以我一直在尝试使用predict()
各种形式的数据帧格式,但它们似乎不起作用。我试过 1) 排除因变量,2) 包括带有切片数据的因变量,3) 包括带有 NA 值的因变量,以及许多其他的东西。
R 4.1.0
R Studio 1.4.1717
下面的代码演示了 3)。
library(tidyverse)
library(lubridate)
library(tidymodels)
df <- data.frame(y = sample(5000000:120000000, 100, replace = TRUE),
yearr = sample(2015:2021, 100, replace = TRUE),
monthh = sample(1:12, 100, replace = TRUE),
dayy = sample(1:31, 100, replace = TRUE))
rm(df_slice)
df_slice = df |>
slice(1:50) |>
select(yearr, monthh, dayy) |>
mutate(y = NA)
m = linear_reg(mode = 'regression', penalty = varying(), mixture = 0.6) |>
set_engine("glmnet") |>
fit(y ~ ., data = df)
predict(m, df_slice)
predict.model_fit(m, df_slice)
predict_raw(m, df_slice)
最后三行代码抛出Error in lambda[1] - s : non-numeric argument to binary operator
调试消息。我确保所有变量都是数字的df
,df_slice
但仍然不确定发生了什么。如果我要进行训练测试拆分,我只想获得预测/拟合值以及“未来”值。为什么这不起作用?