我想知道如何从以下MWE中的fm1输出中提取 Multivariate Tests: Site
部分 . 任何帮助将受到高度赞赏 . 谢谢
library(car)
fm1 <- summary(Anova(lm(cbind(Al, Fe, Mg, Ca, Na) ~ Site, data=Pottery)))
fm1
Type II MANOVA Tests:
Sum of squares and products for error:
Al Fe Mg Ca Na
Al 48.2881429 7.08007143 0.60801429 0.10647143 0.58895714
Fe 7.0800714 10.95084571 0.52705714 -0.15519429 0.06675857
Mg 0.6080143 0.52705714 15.42961143 0.43537714 0.02761571
Ca 0.1064714 -0.15519429 0.43537714 0.05148571 0.01007857
Na 0.5889571 0.06675857 0.02761571 0.01007857 0.19929286
------------------------------------------
Term: Site
Sum of squares and products for the hypothesis:
Al Fe Mg Ca Na
Al 175.610319 -149.295533 -130.809707 -5.8891637 -5.3722648
Fe -149.295533 134.221616 117.745035 4.8217866 5.3259491
Mg -130.809707 117.745035 103.350527 4.2091613 4.7105458
Ca -5.889164 4.821787 4.209161 0.2047027 0.1547830
Na -5.372265 5.325949 4.710546 0.1547830 0.2582456
Multivariate Tests: Site
Df test stat approx F num Df den Df Pr(>F)
Pillai 3 1.55394 4.29839 15 60.00000 2.4129e-05 ***
Wilks 3 0.01230 13.08854 15 50.09147 1.8404e-12 ***
Hotelling-Lawley 3 35.43875 39.37639 15 50.00000 < 2.22e-16 ***
Roy 3 34.16111 136.64446 5 20.00000 9.4435e-15 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
2 回答
我也找不到如何提取测试表但作为一种解决方法,您可以通过在所有测试类型上运行
Anova
命令来计算结果 .但是打印方法
print.Anova.mlm
没有返回结果,所以这需要稍微调整一下 .由于输出表是
anova
和data.frame
类,因此可以使用xtable
.fm1$multivariate.tests
将您带到fm1
输出的Site
部分 .然后你可以使用
cat
和capture.output
的组合进行漂亮的打印,或者只使用capture.output
作为字符向量 .Update: 从结果来看
它看起来不像数字值那样容易访问结果 . 因此,正如您所要求的,这是将结果操作到矩阵中所需的内容 . 完成此操作然后看到user20650的答案后,我建议您遵循该建议并通过ANOVA表获取值 .
如果有人想改善我的第二个代码块,请随意 .