Возможно, я неправильно понял Ваш вопрос, но, как отметили @camille и @MrFlick, это можно сделать с помощью функции predict()
. Подробнее.
# Fit some model, for example:
m1 <- lm(PETCO2 ~ percent_power + factor(group), data = df_sum)
Теперь вы можете получить прогнозируемые значения ($ \ hat {y} _i $) для начальных наблюдений, используя функцию predict()
:
df_sum %>%
mutate(petco2_hat = predict(m1, newdata = dta)) %>%
select(id, PETCO2, petco2_hat, percent_power, group)
# A tibble: 89 x 5
id PETCO2 petco2_hat percent_power group
<fct> <dbl> <dbl> <dbl> <fct>
1 AC12-PRD-C1 39.3 39.6 21.7 CHD
2 AC12-PRD-C1 39.6 39.6 34.8 CHD
3 AC12-PRD-C1 41.4 39.7 47.8 CHD
4 AC12-PRD-C1 42.0 39.7 60.9 CHD
5 AC12-PRD-C1 41.8 39.7 73.9 CHD
6 AC12-PRD-C1 41.1 39.7 87.0 CHD
7 AC12-PRD-C1 40.7 39.7 100 CHD
8 AL13-PRD-C1 31.2 39.6 19.2 CHD
9 AL13-PRD-C1 32.1 39.6 30.8 CHD
10 AL13-PRD-C1 33.7 39.7 42.3 CHD
# … with 79 more rows
С другой стороны, если вы просто хотите получить прогнозируемые значения для некоторых новых точек, передайте новые значения в функцию predict()
аналогичным образом:
predict(m1, newdata = tibble(percent_power = 70.0, group = "CHD"))