I''m trying to learn to use manova(), and don''t understand why none of the following work: > data(iris) > fit <- manova(~ Species, data=iris) Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) : incompatible dimensions > fit <- manova(iris[,1:4] ~ Species, data=iris) Error in model.frame(formula, rownames, variables, varnames, extras, extranames, : invalid variable type > > YY <- iris[,1:4] > species <- iris[,5] > fit <- manova(YY ~ species) Error in model.frame(formula, rownames, variables, varnames, extras, extranames, : invalid variable type It does work if I coerce YY to a matrix: > fit <- manova(as.matrix(YY) ~ species) But, ?manova gives no details, and just points to ?aov which says aov(formula, data = NULL, projections = FALSE, qr = TRUE, contrasts = NULL, ...) Arguments: formula: A formula specifying the model. data: A data frame in which the variables specified in the formula will be found. If missing, the variables are searched for in the standard way. ... If this is not a bug, perhaps the documentation needs to be clearer. The only example for manova() is found in ?summary.manova. (It would also help if model.frame returned something to indicate which variable had an invalid type.) -Michael -- Michael Friendly Email: friendly at yorku.ca Professor, Psychology Dept. York University Voice: 416 736-5115 x66249 Fax: 416 736-5814 4700 Keele Street http://www.math.yorku.ca/SCS/friendly.html Toronto, ONT M3J 1P3 CANADA

The details section of the help for lm() suggests the response should either be a numeric vector or a matrix. And the help for aov() says: "Fit an analysis of variance model by a call to ''lm'' for each stratum." hope this helps, Chuck Cleland Michael Friendly wrote:> I''m trying to learn to use manova(), and don''t understand why none of > the following work: > > > data(iris) > > fit <- manova(~ Species, data=iris) > Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) : > incompatible dimensions > > fit <- manova(iris[,1:4] ~ Species, data=iris) > Error in model.frame(formula, rownames, variables, varnames, extras, > extranames, : > invalid variable type > > > > YY <- iris[,1:4] > > species <- iris[,5] > > fit <- manova(YY ~ species) > Error in model.frame(formula, rownames, variables, varnames, extras, > extranames, : > invalid variable type > > It does work if I coerce YY to a matrix: > > > fit <- manova(as.matrix(YY) ~ species) > > But, ?manova gives no details, and just points to ?aov which says > > aov(formula, data = NULL, projections = FALSE, qr = TRUE, > contrasts = NULL, ...) > > Arguments: > > formula: A formula specifying the model. > > data: A data frame in which the variables specified in the formula > will be found. If missing, the variables are searched for in > the standard way. > ... > > If this is not a bug, perhaps the documentation needs to be clearer. > The only example for > manova() is found in ?summary.manova. (It would also help if > model.frame returned > something to indicate which variable had an invalid type.)-- Chuck Cleland, Ph.D. NDRI, Inc. 71 West 23rd Street, 8th floor New York, NY 10010 tel: (212) 845-4495 (Tu, Th) tel: (732) 452-1424 (M, W, F) fax: (917) 438-0894