Пакет 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];
Оценки коэффициентов data.table выводятся в одном столбце, тогда как оценки коэффициентов plyr/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];