我已经看到很多类似的问题,但是我试图写的循环的一个关键是我所缺少的。我有一组包含约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次。编写此循环的任何帮助将不胜感激(在编写循环时我很糟糕)。
您可以split
数据并将lm
应用于每个块。
list_models <- lapply(split(df, df$Key), function(x) lm(y1 ~ x1 + x2, data = x))