我需要分析data.table group_by regressions的一系列lm()输出:
library(data.table)
x <- c(1:5,66:70,101:110)
y <- 31:50
g <- c( 1,1,1,1,1,1,1,1,1,1
,2,2,2,2,2,2,2,2,2,2)
dt <- data.table(x,y,g)
mod <- dt[ , .(model = .(lm(x~y, .SD)))
, by = g]
mod
具有每个组g
的正确模型。现在我想为每个组g
创建一个残差向量列:
mod[, resi := residuals(model)
, by = g]
它看起来运行正常,但是nem列resi
没有被创建:
> mod
g model
<num> <list>
1: 1 <lm[12]>
2: 2 <lm[12]>
为什么这不起作用?
1条答案
按热度按时间neskvpey1#
问题是你将residuals()应用于
list(model)
,而不是直接应用于模型对象。