R
如何在顯示分組對的表格中獲得 Tukey HSD 事後測試的結果?
我很想在我使用 R 的雙向 Anova 之後執行 TukeyHSD 事後測試,獲得一個包含按顯著差異分組的排序對的表。(對不起措辭,我還是統計新手。)
我想要這樣的東西:
所以,用星星或字母分組。
任何的想法?
HSD.test()
我從包中測試了函數agricolae
,但它似乎不處理雙向表。
該
agricolae::HSD.test
函數正是這樣做的,但您需要讓它知道您對交互項感興趣。下面是一個使用 Stata 數據集的示例:library(foreign) yield <- read.dta("http://www.stata-press.com/data/r12/yield.dta") tx <- with(yield, interaction(fertilizer, irrigation)) amod <- aov(yield ~ tx, data=yield) library(agricolae) HSD.test(amod, "tx", group=TRUE)
這給出瞭如下所示的結果:
Groups, Treatments and means a 2.1 51.17547 ab 4.1 50.7529 abc 3.1 47.36229 bcd 1.1 45.81229 cd 5.1 44.55313 de 4.0 41.81757 ef 2.0 38.79482 ef 1.0 36.91257 f 3.0 36.34383 f 5.0 35.69507
它們與我們通過以下命令獲得的內容相匹配:
. webuse yield . regress yield fertilizer##irrigation . pwcompare fertilizer#irrigation, group mcompare(tukey) ------------------------------------------------------- | Tukey | Margin Std. Err. Groups ----------------------+-------------------------------- fertilizer#irrigation | 1 0 | 36.91257 1.116571 AB 1 1 | 45.81229 1.116571 CDE 2 0 | 38.79482 1.116571 AB 2 1 | 51.17547 1.116571 F 3 0 | 36.34383 1.116571 A 3 1 | 47.36229 1.116571 DEF 4 0 | 41.81757 1.116571 BC 4 1 | 50.7529 1.116571 EF 5 0 | 35.69507 1.116571 A 5 1 | 44.55313 1.116571 CD ------------------------------------------------------- Note: Margins sharing a letter in the group label are not significantly different at the 5% level.
multcomp包還提供了重要的成對比較的符號可視化(“緊湊型字母顯示”,請參閱緊湊型字母顯示的算法:比較和評估以獲取更多詳細信息),儘管它沒有以表格格式顯示它們。但是,它有一種繪圖方法,可以方便地使用箱線圖顯示結果。演示順序也可以更改(選項
decreasing=
),並且它有更多用於多重比較的選項。還有擴展這些功能的multcompView包。這是用 分析的相同示例
glht
:library(multcomp) tuk <- glht(amod, linfct = mcp(tx = "Tukey")) summary(tuk) # standard display tuk.cld <- cld(tuk) # letter-based display opar <- par(mai=c(1,1,1.5,1)) plot(tuk.cld) par(opar)
在所選水平(默認,5%),共享相同字母的處理沒有顯著差異。
順便說一句,有一個新項目,目前託管在 R-Forge 上,看起來很有希望:factorplot。它包括基於線條和字母的顯示,以及所有成對比較的矩陣概覽(通過水平圖)。可以在此處找到工作論文:factorplot:改進 GLM 中簡單對比的呈現