R で交互作用プロットを作成する方法
二元配置分散分析は、 2 つの因子に基づいて分割された 3 つ以上の独立したグループの平均値間に差があるかどうかを判断するために使用されます。
2 つの特定の要因が特定の応答変数に影響を与えるかどうかを知りたい場合は、二元配置分散分析を使用します。
ただし、2 つの因子間に交互作用効果が存在する場合があり、それが因子と応答変数の間の関係を解釈する方法に影響を与える可能性があります。
たとえば、要因 (1)運動と (2)性別が応答変数の体重減少に影響を与えるかどうかを知りたい場合があります。両方の要因が体重減少に影響を与える可能性がありますが、相互作用する可能性もあります。
たとえば、運動による体重減少の割合が男性と女性で異なる可能性があります。この場合、運動と性別の間には相互作用効果があります。
2 つの要素間の交互作用効果を検出して理解する最も簡単な方法は、交互作用グラフを使用することです。
これは、応答変数の近似値を Y 軸に、最初の因子の値を X 軸に表示するプロットのタイプです。一方、グラフ内の線は、関心のある 2 番目の因子の値を表します。
このチュートリアルでは、R で交互作用プロットを作成および解釈する方法を説明します。
例: R の交互作用プロット
研究者が運動強度と性別が減量に影響を与えるかどうかを判断したいとします。これを検証するために、男性 30 人、女性 30 人を募集し、そのうちの 10 人を無作為に割り当てて、1 か月間、運動なし、軽い運動、または激しい運動プログラムに従う実験を行いました。
次の手順を使用して、R でデータ フレームを作成し、二元配置分散分析を実行し、運動と性別の間の交互作用効果を視覚化する交互作用プロットを作成します。
ステップ 1: データを作成します。
次のコードは、R でデータ フレームを作成する方法を示しています。
#make this example reproducible set.seed(10) #create data frame data <- data.frame(gender = rep (c("Male", "Female"), each = 30 ), exercise = rep (c("None", "Light", "Intense"), each = 10 , times = 2 ), weight_loss = c(runif(10, -3, 3), runif(10, 0, 5), runif(10, 5, 9), runif(10, -4, 2), runif(10, 0, 3), runif(10, 3, 8))) #view first six rows of data frame head(data) gender exercise weight_loss 1 Male None 0.04486922 2 Male None -1.15938896 3 Male None -0.43855400 4 Male None 1.15861249 5 Male None -2.48918419 6 Male None -1.64738030
ステップ 2: 二元配置 ANOVA モデルを当てはめます。
次のコードは、二元配置 ANOVA をデータに当てはめる方法を示しています。
#fit the two-way ANOVA model model <- aov(weight_loss ~ gender * exercise, data = data) #view the model output summary(model) # Df Sum Sq Mean Sq F value Pr(>F) #gender 1 15.8 15.80 11.197 0.0015 ** #exercise 2 505.6 252.78 179.087 <2e-16 *** #gender:exercise 2 13.0 6.51 4.615 0.0141 * #Residuals 54 76.2 1.41 #--- #Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
運動と性別の間の交互作用項の p 値 ( 0.0141 ) は統計的に有意であり、2 つの要素間に有意な交互作用効果があることを示していることに注意してください。
ステップ 3: 交互作用プロットを作成します。
次のコードは、運動と性別の交互作用プロットを作成する方法を示しています。
interaction.plot(x.factor = data$exercise, #x-axis variable trace.factor = data$gender, #variable for lines response = data$weight_loss, #y-axis variable fun = median, #metric to plot ylab = "Weight Loss", xlab = "Exercise Intensity", col = c("pink", "blue"), lty = 1, #line type lwd = 2, #linewidth trace.label = "Gender")
一般に、交互作用プロットの 2 つの線が平行であれば、交互作用効果はありません。ただし、線が交差する場合は、相互作用効果が存在する可能性があります。
このグラフから、男性と女性の線が交差していることがわかり、運動強度変数と性別の間に交互作用効果がある可能性があることを示しています。
これは、ANOVA 表の結果の p 値が ANOVA モデルの交互作用項に対して統計的に有意であったという事実に対応します。