线性回归与In R中的群

线性回归与In R中的群

我想在R中使用lm()功能。我的数据是一个年度时间序列,其中一个字段用于年份(22年),另一个字段用于州(50个州)。我想拟合每个状态的回归,这样在最后我有一个lm响应向量。我可以想象,对每个状态执行for循环,然后在循环中进行回归,并将每个回归的结果添加到向量中。然而,这似乎不太像R。在SAS中,我将执行‘by’语句,而在SQL中,我将执行‘GROUP BY’。做这件事的方式是什么?



慕码人8056858
浏览 582回答 3
3回答

慕容森

下面是一种使用普雷一揽子:d&nbsp;<-&nbsp;data.frame( &nbsp;&nbsp;state&nbsp;=&nbsp;rep(c('NY',&nbsp;'CA'),&nbsp;10), &nbsp;&nbsp;year&nbsp;=&nbsp;rep(1:10,&nbsp;2), &nbsp;&nbsp;response=&nbsp;rnorm(20))library(plyr)#&nbsp;Break&nbsp;up&nbsp;d&nbsp;by&nbsp;state,&nbsp;then&nbsp;fit&nbsp;the&nbsp;specified&nbsp;model&nbsp;to&nbsp;each&nbsp;piece&nbsp;and#&nbsp;return&nbsp;a&nbsp;listmodels&nbsp; &nbsp;&nbsp;<-&nbsp;dlply(d,&nbsp;"state",&nbsp;function(df)&nbsp; &nbsp;&nbsp;lm(response&nbsp;~&nbsp;year,&nbsp;data&nbsp;=&nbsp;df))#&nbsp;Apply&nbsp;coef&nbsp;to&nbsp;each&nbsp;model&nbsp;and&nbsp;return&nbsp;a&nbsp;data&nbsp;frameldply(models,&nbsp;coef)#&nbsp;Print&nbsp;the&nbsp;summary&nbsp;of&nbsp;each&nbsp; &nbsp;&nbsp;modell_ply(models,&nbsp;summary,&nbsp;.print&nbsp;=&nbsp;TRUE)
打开App,查看更多内容
随时随地看视频慕课网APP