已经使用dplyr::group_by()
和broom::tidy()
在几个组上估计了相同的回归模型。估计值应用于在ggplot中绘制每个组的回归函数。
以下代码适用于基础r
curve()
。
library(tidyverse)
my_tbl <- tibble::tribble(
~Col_1, ~Col_2, ~Col_3,
"A", "(Intercept)", 30,
"A", "x", 10,
"A", "x2", -2,
"B", "(Intercept)", 40,
"B", "x", 20,
"B", "x2", -1
)
my_tbl %>%
split(.$Col_1) %>%
map( ~curve(.$Col_3[1] + .$Col_3[2] * x + .$Col_3[3] * x^2,
1,
30,
main = paste(.$Col_1[1]),
ylab = "y"))
stat_function()
在my_tbl
中找不到参数值。
my_tbl %>%
nest(-Col_1) %>%
mutate(plot = map(data, ~ggplot(data = data.frame(x = c(1, 30)),
mapping = aes(x = x)) +
stat_function()))