Я работаю над главой 25 «Многие модели» из R для Data Science * Хедли Уикхема https://r4ds.had.co.nz/many-models.html, однако я сталкиваюсь с проблемами при воссоздании примеров в 25.2.2.
Вот что у меня есть (и что работает):
require(gapminder); require(tidyverse); require(broom); require(modelr)
by_country <- gapminder %>% group_by(country,continent) %>% nest()
head(by_country)
# A tibble: 6 x 3
country continent data
<fct> <fct> <list>
1 Afghanistan Asia <tibble [12 × 4]>
2 Albania Europe <tibble [12 × 4]>
3 Algeria Africa <tibble [12 × 4]>
4 Angola Africa <tibble [12 × 4]>
5 Argentina Americas <tibble [12 × 4]>
6 Australia Oceania <tibble [12 × 4]>
Затем определение lm()
для применения к каждому набору данных страны:
country_model <- function(df) {
lm(lifeExp ~ year, data = df)
}
И тогда следующая строка не работает:
by_country <- by_country %>%
mutate(model = map(data,country_model))
с сообщением об ошибке
Error in eval(predvars, data, env) : object 'lifeExp' not found
Несмотря на то, что я написал, то же самое, что и то, что появилосьв главе Хэдли.
Я не уверен, что это недавняя проблема, которая раньше работала, поскольку у кого-то еще, очевидно, была проблема с примером: https://github.com/hadley/r4ds/issues/766 (без решения)
Любая помощь будет принята с благодарностью!