私の仕事では、分散分析とテューキー検定を使用してさまざまな治療の比較を行い、1つの因子実験の複数の治療のどれが互いに統計的に異なるかを判断する必要があります。
私が添付したコードは、2つの別々の図を生成します。1つは値の処理分布(グラフ1の例)で、もう1つは処理のどのペアが互いに有意に異なるかを示すテューキー検定結果(グラフ2の例)です。
私が過去に行ったことは、テューキーの結果を見て、統計的に同等のグループのグループを示す文字で最初のグラフを手動で編集することです(グラフ3の例)。そのようなグループ化を要約したグラフ3に似たものを自動的に生成する方法について、さまざまなrライブラリを調べてきましたが、まだ方法が見つかりませんでした。誰か提案はありますか?
PS-以下のグラフルーチンが少し面倒な場合は申し訳ありませんが、これは基本的に、データ分散をテストし、関連するテストを条件付きで適用し、出力テーブルと図を作成するために開発した、はるかに包括的な関数セットのフラグメントです。
最初の2つのグラフを作成するために作成したコードは次のとおりです。t?usp=共有
Group=c("G1","G1","G1","G1","G2","G2","G2","G2","G3","G3","G3","G3")
Vals=c(runif(4),runif(4)+0.5,runif(4)+0.1)
data=data.frame(Group)
data=cbind(data, Vals)
anova_results=aov(Vals~Group,data=data)
anova_results2=anova(anova_results)[1, ]
anova_significance=anova_results2[1,"Pr(>F)"]
significant=anova_significance[1]<=0.05
if (significant==1) {
Tukey_results=TukeyHSD(anova_results,"Group")
Tukey_results=Tukey_results$Group
}
plot(data$Group, data$Vals)
if (significant==1) {
plot(TukeyHSD(anova_results,"Group"), las=1)
}