[R] store list objects in data.table

Naresh Gurbuxani n@re@h_gurbux@n| @end|ng |rom hotm@||@com
Sat Sep 21 23:25:03 CEST 2024


I am trying to store regression objects in a data.table

df <- data.frame(x = rnorm(20))
df[, "y"] <- with(df, x + 0.1 * x^2 + 0.2 * rnorm(20))

mydt <- data.table(mypower = c(1, 2), myreg = list(lm(y ~ x, data = df),
lm(y ~ x + I(x^2), data = df)))

mydt
#   mypower    myreg
#     <num>   <list>
#1:       1 <lm[12]>
#2:       2 <lm[12]>

But mydt[1, 2] has only the coeffients of the first regression. mydt[2,
2] has residuals of the first regression.  These are the first two
components of "lm" object.

mydt[1, myreg[[1]]]
#(Intercept)           x
#   0.107245    1.034110

Is there a way to put full "lm" object in each row?

Thanks,
Naresh



More information about the R-help mailing list