Пакет 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];