Как запустить скользящую регрессию в data.table и сохранить коэффициенты в столбце?
Рассчитать прокатные средства легко:
library(data.table)
library(zoo)
DT <- data.table(Y = rnorm(1000), X = rnorm(1000),
key.group = rep(c('a', 'b', 'c', 'd'), each = 250))
DT[, Average.Y := rollapply(Y, width = 12, mean)]
Но как мне запустить скользящую регрессию (по группам) с data.table
и сохранить коэффициент интереса, не извлекая значения для другого объекта, если это возможно? Это возможно?
Эта попытка не работает:
DT[, coefficient := rollapply(.SD, 20, function(x) {
the.coefficient <- lm(Y ~ X, data = x)$coefficients[2];
return(the.coefficient)}), by = key.group]