r - R中不同分组的分组线性回归预测
问题描述
我正在尝试基于数据集中的特定组构建模型,并使用生成的模型通过遵循组限制来预测不同数据集的拟合。换句话说,使用下面的示例,使用原始数据的子集:cyl==4 构建的模型应仅用于预测新数据集(data1)的子集:cyl==4。任何人都可以帮助解决这个有趣的问题吗?
我试图用来data1%>% group_by(cyl)
指定新数据,但这没有帮助
谢谢
library(broom)
library(dplyr)
library(purrr)
data1 <- head(mtcars,20)
x<-mtcars %>%
group_by(cyl) %>%
summarise(fit = list(lm(wt ~ mpg)),
data = list(cur_data())) %>%
mutate(col = map(fit, augment, newdata = data1%>% group_by(cyl)))```
解决方案
这是一个快速的方法来做到这一点
library(dplyr)
models = mtcars %>% group_by(cyl) %>% do(model = lm(wt ~ mpg, data = .))
然后访问各个模型
library(broom)
tidy(models$model[[1]])
做同样的另一种方法 -
models <- mtcars %>%
nest_by(cyl) %>%
mutate(mod = list(lm(mpg ~ disp, data = data)))
推荐阅读
- javascript - 在倒计时中将时间从秒格式化为 HH:MM:SS
- reactjs - Skaffold 和 create-react-app 停止工作
- jenkins - 如何将 Jenkins 作业配置为每 45 分钟运行一次?
- c# - 从 asp.net core 3.1 中的 App.config 文件中获取数据
- javascript - 在按钮内包含元素
- c# - 使用嵌套集合时,Dynamo DB 查询未返回预期结果
- c++ - 使用回调函数在 C++/SQLite 中检索 NULL 值
- java - Springfox 大摇大摆地“试一试”访问本地主机
- c - “The Shellcoder's Handbook”attack.c 没有意义
- android - 如何恢复已导出的 Room 数据库?