Rを用いて統計的仮説検定を学ぶ (2)
- アウトライン
-
- 作成日: 2026/1/22
- 更新日: –
はじめに
統計解析では、目の前のデータが「どのような前提のもとで得られたものか」、そして「どの程度まで一般化してよいのか」を常に意識する必要があります。
平均値の比較、相関の評価、カテゴリーデータの関係性など、一見すると異なる解析手法も、根底にある目的は共通です。すなわち、偶然によるばらつきと、意味のある差・関係を見分けることです。
本コラムでは、機能性表示食品のヒト臨床試験 (ヒト試験) を想定し、摂取量とアウトカム (認知機能スコア) の関係を、Rを用いた相関解析で確認します。
相関の代表である ピアソン相関に加えて、探索的解析でよく使われる順位相関 (スピアマン、ケンドール) までを、クイズ形式で体験します。
問題
ある機能性食品 (例: 記憶力をサポートする食品) について、摂取量と認知機能スコアの関係を探索的に評価する小規模試験を実施した。
被験者10名を対象に、次を測定した。
- 1日の食品摂取量 (g/日)
- 4週間後に実施した認知機能テストのスコア (点)
次のデータを用いて問いに答えなさい。
(1)
食品摂取量と認知機能テストスコアの間に相関があるかどうかを、ピアソンの積率相関係数にもとづく無相関検定で検討しなさい。
| 試験参加者 | 食品摂取量 (g/日) | 認知機能評価スコア (点) |
|---|---|---|
| 1 | 1 | 20 |
| 2 | 3 | 40 |
| 3 | 10 | 95 |
| 4 | 12 | 85 |
| 5 | 6 | 55 |
| 6 | 3 | 50 |
| 7 | 8 | 70 |
| 8 | 4 | 50 |
| 9 | 1 | 15 |
| 10 | 5 | 60 |
- ヒント
-
- ・帰無仮説: 相関係数 ρ = 0
- ・対立仮説: 相関係数 ρ ≠ 0
(2)
上記データについて、スピアマンの順位相関係数、ケンドールの順位相関係数を求め、さらに無相関検定をしなさい。
解答
(1)
【スクリプト】
摂取量 <- c(1, 3, 10, 12, 6, 3, 8, 4, 1, 5)
認知機能 <- c(20, 40, 95, 85, 55, 50, 70, 50, 15, 60)
# ピアソンの積率相関係数による無相関検定
cor.test(摂取量, 認知機能)
【出力】
> 摂取量 <- c(1, 3, 10, 12, 6, 3, 8, 4, 1, 5)
> 認知機能 <- c(20, 40, 95, 85, 55, 50, 70, 50, 15, 60)
>
> # ピアソンの積率相関係数による無相関検定
> cor.test(摂取量, 認知機能)
Pearson's product-moment correlation
data: 摂取量 and 認知機能
t = 8.0333, df = 8, p-value = 4.238e-05
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.7722440 0.9868111
sample estimates:
cor
0.9432422
(2)
【スクリプト】
cor.test(摂取量, 認知機能, method = "spearman")
cor:test (摂取量, 認知機能, method=”kendall”)
【出力】
> cor.test(摂取量, 認知機能)
Pearson's product-moment correlation
data: 摂取量 and 認知機能
t = 8.0333, df = 8, p-value = 4.238e-05
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.7722440 0.9868111
sample estimates:
cor
0.9432422
>
> cor.test(摂取量, 認知機能, method = "spearman")
Spearman's rank correlation rho
data: 摂取量 and 認知機能
S = 6.0543, p-value = 7.587e-06
alternative hypothesis: true rho is not equal to 0
sample estimates:
rho
0.9633073
警告メッセージ:
cor.test.default(摂取量, 認知機能, method = "spearman") で:
タイのため正確な p 値を計算することができません> cor.test(摂取量, 認知機能, method= "kendall")
Kendall's rank correlation tau
data: 摂取量 and 認知機能
z = 3.4397, p-value = 0.0005823
alternative hypothesis: true tau is not equal to 0
sample estimates:
tau
0.8736209
警告メッセージ:
cor.test.default(摂取量, 認知機能, method = "kendall") で:
タイのため正確な p 値を計算することができません
>
cor.test(摂取量, 認知機能, method = "spearman")
cor:test (摂取量, 認知機能, method=”kendall”)> cor.test(摂取量, 認知機能)
Pearson's product-moment correlation
data: 摂取量 and 認知機能
t = 8.0333, df = 8, p-value = 4.238e-05
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.7722440 0.9868111
sample estimates:
cor
0.9432422
>
> cor.test(摂取量, 認知機能, method = "spearman")
Spearman's rank correlation rho
data: 摂取量 and 認知機能
S = 6.0543, p-value = 7.587e-06
alternative hypothesis: true rho is not equal to 0
sample estimates:
rho
0.9633073
警告メッセージ:
cor.test.default(摂取量, 認知機能, method = "spearman") で:
タイのため正確な p 値を計算することができません> cor.test(摂取量, 認知機能, method= "kendall")
Kendall's rank correlation tau
data: 摂取量 and 認知機能
z = 3.4397, p-value = 0.0005823
alternative hypothesis: true tau is not equal to 0
sample estimates:
tau
0.8736209
警告メッセージ:
cor.test.default(摂取量, 認知機能, method = "kendall") で:
タイのため正確な p 値を計算することができません
>
※補足: 出力に「タイのため正確な p 値を計算することができません」と出るのは、同点 (同じ値) が含まれているためです (例: 摂取量=1が2名、認知機能=50が2名)。この場合、Rは厳密な計算ではなく近似に切り替えることがありますが、今回のようにp値が十分小さい場合、結論は大きく変わりにくいことが多いです。
解説
今回のデータでは、3つの方法すべてで強い正の相関が得られました。
- ピアソン相関: r = 0.943 (p = 4.238e-05)
- スピアマン相関: ρ = 0.963 (p = 7.587e-06)
- ケンドール相関: τ = 0.874 (p = 0.000582)
つまり、「摂取量が多いほど認知機能スコアが高い」という関係が、線形 (ピアソン) としても、単調 (順位相関) としても支持されました。
ここで押さえておきたいのは、相関の“見ているもの”が少し違うことです。
- ピアソン相関: 直線的 (線形) な関係に強い。外れ値や分布の影響を受けやすい。
- スピアマン/ケンドール: 順位にもとづくため、外れ値や分布形状の影響を受けにくく、探索的・小規模データで便利。
まとめ
本コラムでは、連続変数間の関係性を評価する方法として、ピアソン相関に加え、スピアマン/ケンドールの順位相関を取り上げ、無相関検定の考え方を段階的に確認しました。
- 相関係数は「関係の強さ」を表すが、手法により前提が異なる
- 小規模・探索的データでは、順位相関が有用な場面が多い
- p値が小さい=因果が証明された、ではない (相関はあくまで仮説生成の道具)
相関解析は、摂取量とアウトカムの関係を発見するのに役立ちますが、因果を主張するには、試験デザインや交絡、反応性など追加の検討が必要です。
本稿が、統計結果を批判的に読み解くための一助となれば幸いです。Rを使用した他のクイズ形式の問題は、別のコラムにまとめているので、ぜひチェックしてみてください。





