Skotara wrote: > Dear R-list, > > the following code had been running well over the last months: > > exam <- matrix(rnorm(100,0,1), 10, 10) > gg <- factor(c(rep("A", 5), rep("B", 5))) > mlmfit <- lm(exam ~ 1); mlmfitG <- lm(exam ~ gg) > result <- anova(mlmfitG, mlmfit, X=~0, M=~1) > > Until, all of a sudden the following error occured: > > Fehler in apply(abs(sapply(deltassd, function(X) diag((T %*% X %*% > t(T))))), : > dim(X) must have a positive length > > I have not kept track of the changes in my R-version, so it might have > to do with that. > Now it is: R version 2.9.0 (2009-04-17). > > Does anybody know more about this error? I would help me a lot!
Hmm, It didn't work in 2.8.1 either. Anyways, the direct cause of the problem is that the construction sapply(deltassd, function(X) diag((T %*% X %*% t(T)))) will return a vector, not matrix, if T is 1 x p. This happens inside apply(abs(sapply(deltassd, function(X) diag((T %*% X %*% t(T))))), 1, max) and obviously, apply() is confused. We need an as.matrix(), which we do have at other points in the function. For a quick workaround, use test="Spherical". It is really a univariate problem so all the tests are equivalent (in fact, anova(lm(rowMeans(exam) ~ gg)) also works). > > Thank you very much! > > Nils > > ______________________________________________ > R-help@r-project.org 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. -- O__ ---- Peter Dalgaard Ă˜ster Farimagsgade 5, Entr.B c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalga...@biostat.ku.dk) FAX: (+45) 35327907 ______________________________________________ R-help@r-project.org 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.