【发布时间】:2013-09-16 16:23:27
【问题描述】:
我正在使用 plyr 包按 SUBJECT 和 YEAR 对面板数据进行回归。我想仅使用 R base 函数复制来自 plyr 的输出。特别是,plyr 包保留了 SUBJECT 和 YEAR 变量名称,但 base 函数没有。是否可以仅使用 R base 函数复制 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)) })
【问题讨论】:
标签: r output regression plyr