我想用lm()函数做R的线性回归.我的数据是一个年度时间序列,其中一个字段表示年份(22年),另一个字段表示州(50个州).我想 for each 状态拟合一个回归,这样最后我就有了一个lm响应向量.我可以想象 for each 状态执行for循环,然后在循环中执行回归,并将每次回归的结果添加到向量中.然而,这似乎不太像R.在SAS中,我将执行"by"语句,在SQL中,我将执行"groupby".这样做的方法是什么?

推荐答案

这里有一种使用lme4包的方法.

 library(lme4)
 d <- data.frame(state=rep(c('NY', 'CA'), c(10, 10)),
                 year=rep(1:10, 2),
                 response=c(rnorm(10), rnorm(10)))

 xyplot(response ~ year, groups=state, data=d, type='l')

 fits <- lmList(response ~ year | state, data=d)
 fits
#------------
Call: lmList(formula = response ~ year | state, data = d)
Coefficients:
   (Intercept)        year
CA -1.34420990  0.17139963
NY  0.00196176 -0.01852429

Degrees of freedom: 20 total; 16 residual
Residual standard error: 0.8201316

R相关问答推荐

R -创建一列,指示另一列是否具有相同的值

feature_weights参数没有影响Xgboost

返回句子中最长的偶数长单词

如何根据包含相同值的某些列获取总额

R的GG平行坐标图中的排序变量

单击 map 后,将坐标复制到剪贴板

为什么当我try 在收件箱中使用合并功能时会出现回收错误?

如何删除R中除某些特定名称外的所有字符串?

名称输出pmap on tible

在"gt"表中添加第二个"groupname_col",而不连接列值

使用data.table::fcase()而不是dplyr::case_When()时保持值

无法定义沿边轨迹的 colored颜色 渐变(与值无关)

跨列查找多个时间报告

从多面条形图中删除可变部分

将统计检验添加到GGPUBR中的盒图,在R

删除在R中的write.table()函数期间创建的附加行

如何在R中创建这些列?

具有自定义仓位限制和计数的GGPLATE直方图

R没有按顺序显示我的有序系数?

子样本间系数检验的比较