相关疑难解决方法(0)

dplyr版本对数据帧进行分组,然后在每个组上创建回归模型

任何人都可以建议dplyr回答以下问题吗? 按国家/地区分割data.frame,并在每个子集上创建线性回归模型

为完整起见,链接中的问题和答案包含在下面.

作为参考,这是Josh的问题:

我有一个来自世界银行的数据框架,看起来像这样;

  country date BirthRate     US.   
4   Aruba 2011    10.584 25354.8
5   Aruba 2010    10.804 24289.1
6   Aruba 2009    11.060 24639.9
7   Aruba 2008    11.346 27549.3
8   Aruba 2007    11.653 25921.3
9   Aruba 2006    11.977 24015.4
Run Code Online (Sandbox Code Playgroud)

总而言之,在这个数据框中有70个国家的子集,我想对其进行线性回归.如果我使用以下内容,我会为一个国家获得一个不错的lm;

andora = subset(high.sub, country == "Andorra")

andora.lm = lm(BirthRate~US., data = andora)

anova(andora.lm)
summary(andora.lm)
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在for循环中使用相同类型的代码时,我会收到一个错误,我将在代码下面打印出来;

high.sub = subset(highInc, date > 1999 & date < 2012)
high.sub <- na.omit(high.sub)
highnames <- unique(high.sub$country)

for (i in highnames) {
  linmod …
Run Code Online (Sandbox Code Playgroud)

for-loop group-by r idiomatic dplyr

3
推荐指数
1
解决办法
1078
查看次数

标签 统计

dplyr ×1

for-loop ×1

group-by ×1

idiomatic ×1

r ×1