我试图创建一个数据框架,但下面的代码给出了一个警告信息。有谁知道问题出在哪里?
library(tibble); library(magrittr); library(tidymodels); library(dplyr)
c(28L, 13L, 3L, 2L, 0L, 3L) -> points
c(100L, 91L, 8L, 5L, 13L, 12L) -> hours
tibble(points, hours) -> monthly
linear_reg() %>%
set_engine("lm") %>%
fit(points ~ hours, data = monthly) ->
lm_fit
expand.grid(hours = seq(5, 30, 5)) %>%
mutate(predicted = predict(lm_fit, .))
# hours predicted
# 1 5 \033[38;5;246m# A tibble: 6 x 1\033[39m
# 2 10 .pred
# 3 15 \033[3m\033[38;5;246m<dbl>\033[39m\033[23m
# 4 20 \033[38;5;250m1\033[39m 0.885
# 5 25 \033[38;5;250m2\033[39m 1.98
# 6 30 \033[38;5;250m3\033[39m 3.08
该 predict()
方法时调用 lm_fit
返回一个tibbled数据帧。我想你只是想要该数据帧的预测列。.pred
. 你可以通过标准子集来获得。
expand.grid(hours = seq(5, 30, 5)) %>%
mutate(predicted = predict(lm_fit, .)$.pred)
hours predicted
1 5 0.885311
2 10 1.983003
3 15 3.080695
4 20 4.178386
5 25 5.276078
6 30 6.373770