Rでの一元配置反復測定分散分析
対応あるサンプルのt検定の変数が3つ以上になったデータは一元配置反復測定分散分析を用いる。
スマートフォン利用時間の変化に関する調査データ(架空データ)を用いる。
ある大学で学生の一日あたりのスマートフォンの利用時間を調査した。学生を無作為で50人抽出し、一週間の平均利用時間を記録する。
調査は同じ学生を対象にある人気ゲームアプリリリース前と直後、そして1ヶ月後の3回実施し、その結果をまとめた(架空調査)。
このデータから人気ゲームアプリリリースとスマホ利用時間の変化について分析せよ。
スクリプト
data <- read.csv("http://kyoto-edu.sakura.ne.jp/weblesson/statistics/data/smartphone04.csv", fileEncoding = "utf-8") #一元配置分散分析 source("http://kyoto-edu.sakura.ne.jp/weblesson/statistics/socialStatisticsBasic.R", encoding="UTF-8") output.oneway.repeated.measure.anova <- oneway.repeated.measures.anova(data[-1]) #一列目は不要 output.posthoc <- multiple.comparison.test(data[-1], repeated=T, summary=F) #一列目は不要 #結果出力 output.oneway.repeated.measure.anova output.posthoc
oneway.repeated.measures.anova関数(socialStatisticsBasic.Rで読み込まれる自作関数)
- oneway.repeated.measures.anova(data)
-
- data=モデル中の変数のみのデータフレーム
multiple.comparison.test関数(socialStatisticsBasic.Rで読み込まれる自作関数)
- multiple.comparison.test(data,repeated,method,summary)
-
- data=モデル中の変数のみのデータフレーム
- repeated=反復測定か(TRUE/FALSE 省略時はFALSE)
- method=比較の方法("Tukey","bonferroni","holm","BH" 省略時はTukey)
- summary=概要を出力するか(TRUE/FALSE 省略時はTRUE)
出力結果
一元配置反復測定分散分析
$summary N mean Missing Value before 50 183.4000 0 after 50 197.6600 0 month 50 203.7400 0 Sum 150 194.9333 0 $anova Sum Sq df Mean Sq F P factor 10900.49 2 5450.24667 55.02555 1.110223e-16 samples 705092.00 49 14389.63265 NA NA Residual 9706.84 98 99.04939 NA NA
多重比較(Tukey法)
$Tukey mean diff SE t df p before vs. after 14.26 1.990471 7.164133 49 7.484339e-10 before vs. month 20.34 1.990471 10.218686 49 3.083575e-10 after vs. month 6.08 1.990471 3.054553 49 8.097415e-03
考察例
時期の違いによりスマートフォン利用時間に差があるかどうかを一元配置反復測定分散分析を用いて検証を行った。時期別の平均利用時間は以下の通りである。
リリース前 | 183.40 | リリース直後 | 197.66 | リリース一ヶ月後 | 203.74 |
分散分析より、1%水準で有意差が見られた(F(2,98)=55.03, p<.01)。
この結果より時期の違いによりスマートフォンの利用時間に差があると言える。
Tukey法により多重比較を行ったところ、各時期の間すべてに有意差が見られた(p<.01)。