On Thu, 22 Feb 2007 08:17:38 +0000 (GMT) Prof Brian Ripley <[EMAIL PROTECTED]> 
wrote:

> On Thu, 22 Feb 2007, Petr Klasterecky wrote:
> 
> > Ranjan Maitra napsal(a):
> >> On Sun, 18 Feb 2007 07:46:56 +0000 (GMT) Prof Brian Ripley <[EMAIL 
> >> PROTECTED]> wrote:
> >>
> >>> On Sat, 17 Feb 2007, Ranjan Maitra wrote:
> >>>
> >>>> Dear list,
> >>>>
> >>>> I have a 4-dimensional array Y of dimension 330 x 67 x 35 x 51. I have a
> >>>> design matrix X of dimension 330 x 4. I want to fit a linear regression
> >>>> of each
> >>>>
> >>>> lm( Y[, i, j, k] ~ X). for each i, j, k.
> >>>>
> >>>> Can I do it in one shot without a loop?
> >>> Yes.
> >>>
> >>> YY <- YY
> >>> dim(YY) <- c(330, 67*35*51)
> >>> fit <- lm(YY ~ X)
> >>>
> >>>> Actually, I am also interested in getting the p-values of some of the
> >>>> coefficients -- lets say the coefficient corresponding to the second
> >>>> column of the design matrix. Can the same be done using array-based
> >>>> operations?
> >>> Use lapply(summary(fit), function(x) coef(x)[3,4])  (since there is a
> >>> intercept, you want the third coefficient).
> >>
> >> In this context, can one also get the variance-covariance matrix of the 
> >> coefficients?
> >
> > Sure:
> >
> > lapply(summary(fit), function(x) {"$"(x,cov.unscaled)})
> 
> But that is not the variance-covariance matrix (and it is an unusual way 
> to write x$cov.unscaled)!
> 
> > Add indexing if you do not want the whole matrix. You can extract
> > whatever you want, just take a look at ?summary.lm, section Value.
> 
> It is unclear to me what the questioner expects: the estimated 
> coefficients for different responses are independent.  For a list of 
> matrices applying to each response one could mimic vcov.lm and do
> 
> lapply(summary(fit, corr=FALSE),
>         function(so) so$sigma^2 * so$cov.unscaled)

Thanks! Actually, I am really looking to compare the coefficients (let us say 
second and the third) beta2 - beta4 = 0 for each regression. Basically, get the 
two-sided p-value for the test statistic for each regression. 

One way of doing that is to get the dispersion matrix of each regression and 
then to compute the t-statistic and the p-value. That is the genesis of the 
question above. Is there a better way?

Many thanks and best wishes,
Ranjan

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to