gpt4 book ai didi

r - 对每个组做出不同的预测

转载 作者:行者123 更新时间:2023-12-02 07:18:33 26 4
gpt4 key购买 nike

我有这样的数据集:

Category Weekly_Date             a             b
<chr> <date> <dbl> <dbl>
1 aa 2018-07-01 36.6 1.4
2 aa 2018-07-02 5.30 0
3 bb 2018-07-01 4.62 1.2
4 bb 2018-07-02 3.71 1.5
5 cc 2018-07-01 3.41 12
... ... ... ... ...

我分别为每个组拟合了线性回归:

fit_linreg <- train %>%
group_by(Category) %>%
do(model = lm(Target ~ Unit_price + Unit_discount, data = .))

现在我对每个类别都有不同的模型:

aa model1
bb model2
cc model3

因此,我需要将每个模型应用到适当的类别。如何实现? (最好是 dplyr)

最佳答案

如果您嵌套测试数据的数据,将其与模型连接起来,那么您可以使用 map2 对测试数据和训练有素的模型进行预测。请参阅下面的 mtcars 示例。

library(tidyverse)

x <- mtcars %>%
group_by(gear) %>%
do(model = lm(mpg ~ hp + wt, data = .))

x
Source: local data frame [3 x 2]
Groups: <by row>

# A tibble: 3 x 2
gear model
* <dbl> <list>
1 3 <S3: lm>
2 4 <S3: lm>
3 5 <S3: lm>

mtcars %>%
group_by(gear) %>%
nest %>%
inner_join(x) %>%
mutate(preds = map2(model, data, predict)) %>%
unnest(preds)

Joining, by = "gear"
# A tibble: 32 x 2
gear preds
<dbl> <dbl>
1 4 22.0
2 4 21.2
3 4 25.1
4 4 26.0
5 4 22.2
6 4 17.8
7 4 17.8
8 4 28.7
9 4 32.3
10 4 30.0
# ... with 22 more rows

关于r - 对每个组做出不同的预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52168341/

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