分割数据并运行线性回归循环

问题描述 投票:0回答:1

我已经看到很多类似的问题,但是我试图写的循环的一个关键是我所缺少的。我有一组包含约4,000个不同键的数据集,每个键有约1,000个观察值。我已经筛选出一个关键点以隔离该关键点的观察值,运行线性回归,检查了模型假设,并且看起来都不错。但是,我想遍历此数据集并为每个键运行线性回归。然后,我将要存储系数,pvalue,R ^ 2等,并将其一起查看。

这里是我的数据样本:

Key y1 x1 x2
A   10 1  3
A   11 2  4 
A   12 3  5
B   13 4  6 
B   14 5  7
B   15 6  8
C   16 7  9 
C   17 8  1
C   18 9  2

我已经跑步:

datA <- data %>% filter(key=='A')
lm(y1 ~ x1 + x2, data = datA)

,然后对键B和C重复该操作。我在这里看到的每个问题都是针对整个集合的不同变量进行循环,而不是在行上拆分数据。

但是我需要再执行4,000次。编写此循环的任何帮助将不胜感激(在编写循环时我很糟糕)。

r loops regression lm
1个回答
0
投票

您可以split数据并将lm应用于每个块。

list_models <- lapply(split(df, df$Key), function(x) lm(y1 ~ x1 + x2, data = x))
© www.soinside.com 2019 - 2024. All rights reserved.