[R] what happens when I store linear models in an array?
David Winsemius
dwinsemius at comcast.net
Wed May 4 16:34:47 CEST 2011
On May 4, 2011, at 4:49 AM, Andrew D. Steen wrote:
> I've got a bunch of similar datasets, all of which I've fit to linear
> models. I'd like to easily create arrays of a specific parameter
> from each
> linear model (e.g., all of the intercepts in one array). I figured
> I'd put
> the model objects into an array, and then (somehow) I could easily
> create
> corresponding arrays of intercepts or residuals or whatever, but I
> can't the
> parameters back out.
>
> Right now I've stored the model objects in a 2-D array:
>> lms.ASP <- array(list(), c(3,4))
>
> Then I fill the array element-by-element:
>> surf105.lm. ASP <- lm(ASP ~ time)
>> lms.ASP[1,1] <- list(surf105.lm.ASP)
>
> Something is successfully being stored in the array:
>> test <- lms.tx.ASP[1,1]
>> test
> [[1]]
> Call:
> lm(formula = ASP ~ time)
> Coefficients:
> (Intercept) elapsed.time..hr
> 0.430732 0.004073
>
> But I can't seem to call extraction functions on the linear models:
>> fitted(lms.ASP[1,1])
> NUL
>
> It seems like something less than the actual linear model object is
> being
> stored in the array, but I don't understand what's happening, or how
> to
> easily batch-extract parameters of linear models. Any advice?
>
The problem is that the "[" function is returning a sublist from that
array of lists, which is still a list. You wanted the contents of the
first (and only) element of that list and Andrew Robinson offered you
the solution.
--
David Winsemius, MD
Heritage Laboratories
West Hartford, CT
More information about the R-help
mailing list