gpt4 book ai didi

r - purrr 使用模型到数据

转载 作者:行者123 更新时间:2023-12-03 19:35:52 27 4
gpt4 key购买 nike

我没有看到任何关于我的问题。我想,当我看到 purrr 很多模型示例时,如何再次使用在数据上创建的模型?一点点代码会告诉你我在追求什么:

这是基本的gapminder许多模型示例。

library(gapminder)
gapminder

by_country <- gapminder %>%
group_by(country, continent) %>%
nest()

country_model <- function(df) {
lm(lifeExp ~ year, data = df)
}

by_country <- by_country %>%
mutate(model = map(data, country_model))

by_country %>%
mutate(model_lag = lag(model))

# A tibble: 142 x 5
country continent data model model_lag
<fct> <fct> <list> <list> <list>
1 Afghanistan Asia <tibble [12 x 4]> <S3: lm> <lgl [1]>
2 Albania Europe <tibble [12 x 4]> <S3: lm> <S3: lm>
3 Algeria Africa <tibble [12 x 4]> <S3: lm> <S3: lm>
4 Angola Africa <tibble [12 x 4]> <S3: lm> <S3: lm>
5 Argentina Americas <tibble [12 x 4]> <S3: lm> <S3: lm>
6 Australia Oceania <tibble [12 x 4]> <S3: lm> <S3: lm>
7 Austria Europe <tibble [12 x 4]> <S3: lm> <S3: lm>
8 Bahrain Asia <tibble [12 x 4]> <S3: lm> <S3: lm>
9 Bangladesh Asia <tibble [12 x 4]> <S3: lm> <S3: lm>
10 Belgium Europe <tibble [12 x 4]> <S3: lm> <S3: lm>
# ... with 132 more rows

我认为我可以将模型滞后一个,而不是仅仅用看到的数据拟合值,我想做的是用这个滞后模型预测数据。我知道这是一个糟糕的例子(为什么我将阿富汗模型用于阿尔巴尼亚),但我有数据嵌套日期,这很有意义。这应该仍然是可重现的示例。那么可以使用这种格式的 predict 吗?

结果将是新列“pred”[12x1],其中包含对新数据的预测,然后我可以将其与数据取消嵌套并在那里进行预测。

最佳答案

你应该可以用 purrr::map2 做到这一点.我不太确定如何让它在 NA 上进行评估值,所以我只是过滤掉它。

library(gapminder)

gapminder %>%
group_by(country, continent) %>%
nest() %>%
mutate(model = map(data, partial(lm, lifeExp ~ year))) %>%
mutate(model_lag = lag(model)) %>%
filter(!is.na(model_lag)) %>%
mutate(pred = map2(model_lag, data, predict))

关于r - purrr 使用模型到数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49300969/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com