Мои данные выглядят так:
#> group.name x y
#> 1 a 1 2
#> 2 a 2 4
#> 3 a 3 6
#> 4 b 1 4
#> 5 b 2 3
#> 6 b 3 2
#> 7 c 1 2
#> 8 c 2 5
#> 9 c 3 8
df <- data.frame(stringsAsFactors=FALSE,
group.name = c("a", "a", "a", "b", "b", "b", "c", "c", "c"),
x = c(1, 2, 3, 1, 2, 3, 1, 2, 3),
y = c(2, 4, 6, 4, 3, 2, 2, 5, 8)
)
Я пытаюсь запустить линейную модель для каждого 'group.name', поэтому я попробовал следующий код:
group_by
имя_группы - создать вложенную функцию df
map()
lm
для вложенной функции df.
НоЯ получаю ошибку.Может кто-нибудь объяснить, что я делаю не так?Спасибо.
library(tidyverse)
models <- df %>%
group_by(group.name) %>%
nest() %>%
map(~ lm(y ~ x, data = .))
#> Error in eval(predvars, data, env): invalid 'envir' argument of type 'character'
models
#> Error in eval(expr, envir, enclos): object 'models' not found