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). Note that this will give a vector, so set its dimension to c(67,35,51) to relate to the original array. I have not BTW looked into the memory requirements here, and you might want to do this on slices of the array for that reason. -- Brian D. Ripley, [EMAIL PROTECTED] Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595 ______________________________________________ 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.