相关疑难解决方法(0)

data.table vs plyr回归输出

data.table包在速度方面非常有用.但我实际上在使用线性回归的输出时遇到了麻烦.是否有一种简单的方法可以使data.table输出与plyr包中的输出一样漂亮/有用?以下是一个例子.谢谢!

library('data.table');
library('plyr');

REG <- data.table(ID=c(rep('Frank',5),rep('Tony',5),rep('Ed',5)), y=rnorm(15), x=rnorm(15), z=rnorm(15));
REG;

ddply(REG, .(ID), function(x) coef(lm(y ~ x + z, data=x)));

REG[, coef(lm(y ~ x + z)), by=ID];
Run Code Online (Sandbox Code Playgroud)

data.table系数估计值在单列中输出,而ply​​r/ddply系数估计值在多个且标记良好的列中输出.

我知道我可以用data.table运行三次回归,但这似乎效率很低.不过我可能错了.

REG[, Intercept=coef(lm(y ~ x + z))[1],
      x        =coef(lm(y ~ x + z))[2],
      z        =coef(lm(y ~ x + z))[3], by=ID];
Run Code Online (Sandbox Code Playgroud)

r data.table

15
推荐指数
1
解决办法
1663
查看次数

标签 统计

data.table ×1

r ×1