On Aug 23, 2010, at 5:35 PM, Johan Steen wrote:

Thanks for your replies,

but unfortunately none of them seem to help.
I do get p-values in the output, but can't seem to locate them anywhere in these objects via the str() function.

That is because in the case of Anova.mlm objects ... they aren't there.

I also get very different output using str() than you obtained from the lm help page

Here's my output:

> A <- factor( rep(1:2,each=3) )
> B <- factor( rep(1:3,times=2) )
> idata <- data.frame(A,B)
> idata
 A B
1 1 1
2 1 2
3 1 3
4 2 1
5 2 2
6 2 3
>
> fit <- lm( cbind(a1_b1,a1_b2,a1_b3,a2_b1,a2_b2,a2_b3) ~ sex, data=Data.wide) > result <- Anova(fit, type="III", test="Wilks", idata=idata, idesign=~A*B)
> result

Type III Repeated Measures MANOVA Tests: Wilks test statistic
           Df test stat approx F num Df den Df    Pr(>F)
(Intercept)  1   0.02863   610.81      1     18 2.425e-15
sex          1   0.76040     5.67      1     18   0.02849
A            1   0.91390     1.70      1     18   0.20925
sex:A        1   0.99998     0.00      1     18   0.98536
B            1   0.26946    23.05      2     17 1.443e-05
sex:B        1   0.98394     0.14      2     17   0.87140
A:B          1   0.27478    22.43      2     17 1.704e-05
sex:A:B      1   0.98428     0.14      2     17   0.87397

Remember I suggested looking for print methods? methods(print) produces a print.Anova.mlm citation. The above output is produced by that function which is not visible unless you do:

> getAnywhere(print.Anova.mlm)
A single object matching ‘print.Anova.mlm’ was found
It was found in the following places
  registered S3 method for print from namespace car
  namespace:car
with value

function (x, ...)
{
    test <- x$test
    repeated <- x$repeated
    ntests <- length(x$terms)
    tests <- matrix(NA, ntests, 4)
    if (!repeated)
        SSPE.qr <- qr(x$SSPE)
    for (term in 1:ntests) {
eigs <- Re(eigen(qr.coef(if (repeated) qr(x$SSPE[[term]]) else SSPE.qr,
            x$SSP[[term]]), symmetric = FALSE)$values)
        tests[term, 1:4] <- switch(test, Pillai = stats:::Pillai(eigs,
            x$df[term], x$error.df), Wilks = stats:::Wilks(eigs,
x$df[term], x$error.df), `Hotelling-Lawley` = stats:::HL(eigs,
            x$df[term], x$error.df), Roy = stats:::Roy(eigs,
            x$df[term], x$error.df))
    }
    ok <- tests[, 2] >= 0 & tests[, 3] > 0 & tests[, 4] > 0
    ok <- !is.na(ok) & ok
    tests <- cbind(x$df, tests, pf(tests[ok, 2], tests[ok, 3],
        tests[ok, 4], lower.tail = FALSE))
    rownames(tests) <- x$terms
    colnames(tests) <- c("Df", "test stat", "approx F", "num Df",
        "den Df", "Pr(>F)")
    tests <- structure(as.data.frame(tests), heading = paste("\nType ",
        x$type, if (repeated)
" Repeated Measures", " MANOVA Tests: ", test, " test statistic",
        sep = ""), class = c("anova", "data.frame"))
    print(tests)
    invisible(x)
}
<environment: namespace:car>

Notice that after printing "tests", those results are basically thrown away, and the function invisibly returns its argument. Hacking that function would be simple matter if you wanted to build a list of results.


> summary(result)

snipped long and uninformative output.

David Winsemius, MD
West Hartford, CT

______________________________________________
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.

Reply via email to