我使用plyr
包来按SUBJECT和YEAR运行面板数据的回归。我想仅使用R base
函数复制plyr
的输出。特别是,plyr
包保留SUBJECT和YEAR变量名称,但base
函数不包含。是否可以仅使用R base
函数复制plyr
输出?以下是我已经尝试了代码示例:R base vs plyr回归输出
data <- data.frame(SUBJECT=c(rep('FISHER',10), rep('HUNTER',10)), YEAR=c(rep(2011,5), rep(2012,5), rep(2011,5), rep(2012,5)), y=rnorm(20), x=rnorm(20))
data
只使用[R base
功能
with(data, t(sapply(split(data, list(SUBJECT,YEAR), drop=TRUE), function(x) { coef(lm(y ~ x, data = x)) })))
使用plyr
功能
library(plyr)
ddply(data, .(SUBJECT,YEAR), function(x) { coef(lm(y ~ x, data = x)) })
没注意到你几乎相同的答复。我已经通过一些小改进对其进行了更新。 –
@ G.Grothendieck,缺少结束括号对眼睛而言绝对容易:p – A5C1D2H2I1M1N2O1R2T1