MENU

【無料プレゼント付き】学会発表・論文投稿に必要な統計を最短で学ぶことができる無料メルマガ

平均値・標準偏差・症例数からt検定を行う:BSDAパッケージのtsum.testを解説


データ分析の現場では、生データが手元になく、要約統計量(平均値、標準偏差、症例数)のみが与えられている状況で統計的検定を行う必要に迫られることがある。特に、2つのグループ間の平均値に有意な差があるかを検証するt検定は頻繁に用いられる。

Rには様々なt検定関数があるが、BSDAパッケージのtsum.test関数は、まさにこの「要約統計量からのt検定」に特化しており、非常に便利だ。本記事では、tsum.test関数を用いて平均値、標準偏差、症例数からt検定を行う方法について、実務でよくある「どちらの群が良いか事前に明確な仮説がない」状況を想定し、両側検定の具体例とRコードを交えながら詳しく解説する。

>>もう統計で悩むのは終わりにしませんか? 

↑1万人以上の医療従事者が購読中

目次

tsum.test とは?

tsum.test関数は、BSDA (Basic Statistics and Data Analysis) パッケージに含まれる関数で、2つの標本の要約統計量(平均値、標準偏差、標本サイズ)のみを用いてt検定を実行できる。これは、原データが入手できないが、論文や報告書からこれらの要約統計量が得られる場合に非常に有効である。

想定されるシナリオ

例えば、以下のようなケースでtsum.testが役立つ。

  • 過去の研究論文で報告されている要約統計量を用いて、自分の研究結果と比較したい場合。
  • 異なる2つの医療施設における治療効果を、平均値、標準偏差、症例数のみが与えられた状態で比較したい場合。
  • 機密性の高いデータで、直接データを共有できないが、要約統計量のみなら開示されている場合。

>>もう統計で悩むのは終わりにしませんか? 

↑1万人以上の医療従事者が購読中

具体例:2つの学習方法の成績比較(どちらが良いか不明な場合)

ある学校の教員が、たまたま過去に実施した2つの異なる学習方法(「学習方法X」と「学習方法Y」とする)を受けた生徒たちのテスト結果の要約統計量を手に入れた。どちらの学習方法が優れているか、あるいは差がないのか、事前に特定の仮説を持たずに、純粋に統計的な差があるかどうかを知りたいと考えている。手元にあるのは以下の要約統計量のみとする。

  • 学習方法Xを受けた生徒のグループ:
    • 平均点 ($\bar{x}_X$): 75点
    • 標準偏差 ($s_X$): 10点
    • 症例数 ($n_X$): 30人
  • 学習方法Yを受けた生徒のグループ:
    • 平均点 ($\bar{x}_Y$): 70点
    • 標準偏差 ($s_Y$): 12点
    • 症例数 ($n_Y$): 35人

このデータを用いて、2つの学習方法の間に成績の平均点に統計的に有意な差があるか(学習方法Xと学習方法Yのどちらが優れているか、あるいは劣っているか)を、有意水準5%で両側t検定を行う。

帰無仮説 ($H_0$): 学習方法Xと学習方法Yの平均点に差はない ($\mu_X=\mu_Y$)

対立仮説 ($H_1$): 学習方法Xと学習方法Yの平均点に差がある ($\mu_X\neq\mu_Y$)

R 計算例

それでは、Rを用いてtsum.testを実行してみよう。今回は、どちらかの群が優れているという事前仮説がないため、alternative = "two.sided"(両側検定)を指定する。

R スクリプト例:

# BSDAパッケージのインストール(初回のみ)
# install.packages("BSDA")

# BSDAパッケージの読み込み
library(BSDA)

# 学習方法Xの統計量
mean.X <- 75
sd.X <- 10
n.X <- 30

# 学習方法Yの統計量
mean.Y <- 70
sd.Y <- 12
n.Y <- 35

# tsum.testを実行
# mu = 0 は帰無仮説における2群の平均値の差(通常は0)
# alternative = "two.sided" は両側検定
# var.equal = FALSE は分散が等しいと仮定しない(Welchのt検定)
# (var.equal = TRUE にするとプールされた標準偏差を用いる)
result <- tsum.test(mean.x = mean.X, s.x = sd.X, n.x = n.X,
                    mean.y = mean.Y, s.y = sd.Y, n.y = n.Y,
                    mu = 0, alternative = "two.sided", var.equal = FALSE)

# 結果の表示
print(result)

実行結果:

上記のRコードを実行すると、以下のような出力が得られる。

> print(result)

Welch Modified Two-Sample t-Test

data: Summarized x and y
t = 1.8322, df = 62.959, p-value = 0.07166
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-0.4536063 10.4536063
sample estimates:
mean of x mean of y
75 70

> このt検定の結果を解釈いたします。

結果の解釈

検定結果の概要
学習方法X群(平均値75、標準偏差10、n=30)と学習方法Y群(平均値70、標準偏差12、n=35)の間で、Welchのt検定を実施した結果である。

統計量とp値

  • t統計量:1.8322
  • 自由度:62.959(Welchの方法による調整済み)
  • p値:0.07166

有意性の判断
p値(0.07166)は有意水準0.05を上回っているため、帰無仮説(2群の平均値に差がない)を棄却できない。つまり、学習方法X群とY群の間に統計的に有意な差は認められない。

効果量と信頼区間
95%信頼区間は-0.45から10.45であり、0を含んでいる。これは2群の平均値の差が0である可能性を排除できないことを示している。

実用的な解釈
学習方法X群の方が平均値が5点高いものの、この差は統計的に有意ではなく、偶然の変動の範囲内であると判断される。ただし、p値が0.05に近い値であることから、より大きなサンプルサイズでの検定や、より詳細な分析が必要である可能性がある。

まとめ

BSDAパッケージのtsum.test関数は、要約統計量(平均値、標準偏差、症例数)のみからt検定を手軽に行うための強力なツールだ。生データが手元にない状況でも、信頼性の高い統計的検定を実行できるため、研究や実務において非常に役立つ。

特に、どちらの群が優れているか事前に明確な仮説がない「実務で取得したデータ」を比較する際には、本記事のようにalternative = "two.sided"を指定した両側検定を行うことで、より客観的な判断を下すことができるだろう。適切な仮説設定と、alternative引数やvar.equal引数(分散の等質性)の選択に注意して、目的に合った検定を行ってほしい。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

リサーチクエスチョン探し?データ分析?論文投稿?、、、で、もう悩まない!

第1章臨床研究ではなぜ統計が必要なのか?計画することの重要性
  • 推定ってどんなことをしているの?
  • 臨床研究を計画するってどういうこと?
  • どうにかして標本平均を母平均に近づけられないか?
第2章:研究目的をどれだけ明確にできるのかが重要
  • データさえあれば解析でどうにかなる、という考え方は間違い
  • 何を明らかにしたいのか? という研究目的が重要
  • 研究目的は4種類に分けられる
  • 統計専門家に相談する上でも研究目的とPICOを明確化しておく
第3章:p値で結果が左右される時代は終わりました
  • アメリカ統計協会(ASA)のp値に関する声明で指摘されていること
  • そうは言っても、本当に有意差がなくてもいいの…?
  • なぜ統計専門家はp値を重要視していないのか
  • 有意差がない時に「有意な傾向があった」といってもいい?
  • 統計を放置してしまうと非常にまずい
第4章:多くの人が統計を苦手にする理由
  • 残念ながら、セミナー受講だけで統計は使えません。
  • インプットだけで統計が使えない理由
  • どうやったら統計の判断力が鍛えられるか?
  • 統計は手段なので正解がないため、最適解を判断する力が必要
第5章:統計を使えるようになるために今日から何をすれば良いか?
  • 論文を読んで統計が使えるようになるための5ステップ
第6章:統計を学ぶために重要な環境
  • 統計の3つの力をバランスよく構築する環境

以下のボタンをクリックして、画面に出てくる指示に従って、必要事項を記入してください。

この記事を書いた人

統計 ER ブログ執筆者

元疫学研究者

コメント

コメントする

目次