# [R] aov summary to matrix

Sundar Dorai-Raj sundar.dorai-raj at PDF.COM
Tue Aug 17 23:46:02 CEST 2004

```
Moises Hassan wrote:

> Is there an easy way of converting an aov.summary into a matrix in which
> the rows are the factor names and the columns are Df, Sum Sq, Mean Sq, F
> value and Pr.
>
> For example, convert
>
>             Df Sum Sq Mean Sq F value   Pr(>F)
> block        5 343.29   68.66  4.4467 0.015939 *
> N            1 189.28  189.28 12.2587 0.004372 **
> P            1   8.40    8.40  0.5441 0.474904
> K            1  95.20   95.20  6.1657 0.028795 *
> N:P          1  21.28   21.28  1.3783 0.263165
> N:K          1  33.14   33.14  2.1460 0.168648
> P:K          1   0.48    0.48  0.0312 0.862752
> Residuals   12 185.29   15.44
> ---
> Signif. codes:  0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1
>
>
> To
>
> Factor      Df Sum Sq  Mean Sq F value   Pr
> block        5 343.29   68.66  4.4467 0.015939
> N            1 189.28  189.28 12.2587 0.004372
> P            1   8.40    8.40  0.5441 0.474904
> K            1  95.20   95.20  6.1657 0.028795
> N:P          1  21.28   21.28  1.3783 0.263165
> N:K          1  33.14   33.14  2.1460 0.168648
> P:K          1   0.48    0.48  0.0312 0.862752
> Residuals   12 185.29   15.44    NA      NA
>
>

Try this:

example(aov)
as.data.frame.summary.aovlist <- function(x) {
if(length(x) == 1) {
as.data.frame(x[[1]])
} else {
lapply(unlist(x, FALSE), as.data.frame)
}
}
x1 <- summary(npk.aov)
x2 <- summary(npk.aovE)
as.data.frame(x1)
as.data.frame(x2)

--sundar

```