ひゃまだのblog
(2013-05-20 初稿 - 2025-05-31 転記・修正・追記) はじめに 先日、職場の後輩に相談されて、tukeyの多重比較で検定して、「対照区と比べて有意な差のある範囲をグラフに示したら」と偉そうに答えてしまった。^^; 後日、後輩からアルファベット(符号)の付け方の相談をされ、これが意外に難し(楽し)かったので、家に帰ってからRubyのスクリプトでも書こうかと思いきや、意外と簡単だったのでここに備忘録として記す。 本当は、額に汗して(目に汗かいて)回答を考えたのは、ここだけの秘密。(^^ゞ ちなみに、一覧表にした方が良いとの意見もあることは重々承知ですが、グラフや別の表に記載する場合は、どうしても符号の方が書きやすいかと… 手順 ここでは、平均値の大きい順にアルファベット(符号)を付ける方法を紹介する。 小さい順の方が良い方は、平均値の小さい順に並べれば良いかと(未確認 汗)。 (サンプルデータ) 1区 2区 3区 4区 5区 3 6 13 18 20 【例】 5%水準で有意差のある区 (1,3)、(1,4)、(1,5) (2,4)、(2,5) 1 平均の大きい区順に、列および行に書き、表を作成する。 5区 4区 3区 2区 1区 5区 4区 3区 2区 1区 2 右上、左下のどちらかを「-」等で消す(使わない)。 5区 4区 3区 2区 1区 5区 - - - - 4区 - - - 3区 - - 2区 - 1区 3 有意差のある区に*を記入する。 5区 4区 3区 2区 1区 5区 - - - - 4区 - - - 3区 - - 2区 * * - 1区 * * * 4 一番下に1行追加して、有意差のある数(ここでは*数)を記入する。(慣れてくれば不要かな…)
5区 4区 3区 2区 1区 5区 - - - - 4区 - - - 3区 - - 2区 * * - 1区 * * * *数 2 2 1 0 0 5 平均値の大きい区から列に「a」の記号を入力する。 5区 4区 3区 2区 1区 5区 a - - - - 4区 a - - - 3区 a - - 2区 * * - 1区 * * * *数 2 2 1 0 0 6 続いて、4区も*数が同じなので、「a」を記入する。 5区 4区 3区 2区 1区 5区 a - - - - 4区 a a - - - 3区 a a - - 2区 * * - 1区 * * * *数 2 2 1 0 0 7 続いて、3区も入力するが、*数が異なるので、異なる符号(b)を記入する。 5区 4区 3区 2区 1区 5区 a - - - - 4区 a a - - - 3区 a a b - - 2区 * * b - 1区 * * * *数 2 2 1 0 0 8 2区も*数が異なるので、異なる符号(c)を記入する。 5区 4区 3区 2区 1区 5区 a - - - - 4区 a a - - - 3区 a a b - - 2区 * * b c - 1区 * * * c *数 2 2 1 0 0 9 1区は2区と同じ*数なので、同じ符号(c)を記入する。 5区 4区 3区 2区 1区 5区 a - - - - 4区 a a - - - 3区 a a b - - 2区 * * b c - 1区 * * * c c *数 2 2 1 0 0 10 右側に新しい列を追加して、ユニークな符号を記入する。 5区 4区 3区 2区 1区 符号 5区 a - - - - a 4区 a a - - - a 3区 a a b - - ab 2区 * * b c - bc 1区 * * * c c c *数 2 2 1 0 0 こんな感じでやれば、わかりやすいかと… (^^♪ おわりに python等でスクリプトを作る際にも、「*の数が変わったら符号を変える」の法則にしたがい作ってみて(超手抜き 汗)。 ちなみに、「aab」は、uniqを使えば、[ab」になります。また、「*」はdeleteで消せそう… 筆者も、気が向いたら作るかもしれませんが、この程度のことならば、表計算ソフトで十分かと…<(手抜き 汗)。最後に、この記事を読んで「わかりやすい」と感じましたら、遠慮なく、どうぞ遠慮なぞなさらず「はてなスター」だったかなボタンを押してくださいね。m(__)m それでは、また。 (2025-05-29 追記) kentei-hiaku 様 楽しい問題ありがとうございました。 ページ末で申し訳ありませんが、こんな感じの図をつけてみました。 わかりますでしょうか? 対戦表の作り方 (追記終了) (2025-05-31追記) 以下のページにアルファベットの符号を付けるpythonスクリプトを掲載した。
-
多重比較のアルファベットの付け方をpythonスクリプトを作ってみた - ひゃまだのblog
- ひゃまだのblogインデックス - ひゃまだのblog
- DebianでRを使って分散分析とTukey多重検定を必要最小限で実行する
- Rでtukeyの多重検定を行って有意差のアルファベットをつける
BOT