[R] Puzzled in utilising summary.lm() to obtain Var(x)
Ajay Narottam Shah
ajayshah at mayin.org
Wed Jun 15 04:36:34 CEST 2005
> > I have a program which is doing a few thousand runs of lm(). Suppose
> > it is a simple model
> > y = a + bx1 + cx2 + e
> >
> > I have the R object "d" where
> > d <- summary(lm(y ~ x1 + x2))
> >
> > I would like to obtain Var(x2) out of "d". How might I do it?
> >
> > I can, of course, always do sd(x2). But it would be much more
> > convenient if I could snoop around the contents of summary.lm and
> > extract Var() out of it. I couldn't readily see how. Would you know
> > what would click?
>
> Is the question how to get the variance of a column of the
> model matrix for a model that is the sum of terms given only
> summary output and the column name but not the name of the
> data frame? If that is it then try this:
>
> d <- summary(lm(Sepal.Length ~ Sepal.Width, iris)) # test data
> var(model.matrix(eval(d$call))[,"Sepal.Width"])
Yes, this is indeed exactly what I was looking for :-) Thanks,
The eval() pays the full cost of running d$call?
-ans.
--
Ajay Shah Consultant
ajayshah at mayin.org Department of Economic Affairs
http://www.mayin.org/ajayshah Ministry of Finance, New Delhi
More information about the R-help
mailing list