将ANOVA表强制转换为表格对象R.

时间:2012-09-21 05:59:36

标签: r anova xtable

我正在运行很多ANOVA表,并且最终希望通过xtable包中的'xtable'函数运行它们以导出到LaTeX中。但是我需要为xtable提供一个表对象,它不会接受ANOVA对象。我基本上想把ANOVA表作为表对象。这是一些可重现的代码:

utils::data(npk, package="MASS")
npk.aovE <- aov(yield ~  N*P*K + Error(block), npk)
summary(npk.aovE) ## THIS IS THE TABLE I WANT AS A TABLE OBJECT

我已经尝试了所有常见的嫌疑人(as.table,print和xtable(summary(npk.aoE)))但没有成功。任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

一般人们想要的是通过以下方式获得的矩阵:

 coef( summary(npk.aovE) )  # which returns NULL

正如帮助页面所说:“函数coef将提取具有标准误差,t统计量和p值的系数矩阵。”不幸的是,理论和实践并不总是一致的。该摘要对象实际上是两个数据帧,其行为在?summary.aovlist

中描述
> summary(npk.aovE)[[2]]
          Df Sum Sq Mean Sq F value  Pr(>F)   
N          1 189.28  189.28  12.259 0.00437 **
P          1   8.40    8.40   0.544 0.47490   
K          1  95.20   95.20   6.166 0.02880 * 
N:P        1  21.28   21.28   1.378 0.26317   
N:K        1  33.14   33.14   2.146 0.16865   
P:K        1   0.48    0.48   0.031 0.86275   
Residuals 12 185.29   15.44                   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 
> summary(npk.aovE)[[1]]
          Df Sum Sq Mean Sq F value Pr(>F)
N:P:K      1   37.0   37.00   0.483  0.525
Residuals  4  306.3   76.57