医療統計コラム

File 1. たかがt検定、されどt検定

そもそもJMPのメニューバーには、「t検定」という名前のメニューはありません。
では、JMPでt検定を実行するにはどうしたらよいでしょうか?

このコラムでは、この簡単そうで、実は深い内容になる疑問についてお答えします。
JMPをすでにご利用で、「そんなこともう知っているよ!」という方にも役立つ内容です。

対応のないt検定

はじめに、次の例題について考えてみます。

例題1.

糖尿病患者に対して、糖尿病治療薬Aと対照薬のいずれかを投与し、投与後3か月後のヘモグロビンA1c(以下、HbA1c)を測定したデータ(%)が得られた。

治療薬A群(12例): 6.7, 6.8, 9.0, 8.8, 6.5, 7.7, 8.1, 7.5, 6.5, 9.5, 6.6, 5.9

対照薬群(14例): 9.8, 9.6, 8.3, 8.9, 8.1, 7.9, 8.7, 8.3, 6.7, 8.8, 6.9, 10.0, 8.0, 7.8

治療薬A群と対照薬群のHbA1cについて、(Studentの)t検定を実行し、平均値の差を比較する。

注:HbA1cは、右側に裾を引く非対称分布になると言われていますが、ここでは正規性を仮定し、話を進めます。

t検定に限りませんが、統計ソフトウェアでデータを分析するとき、まずは、そのソフトウェアでどのようにデータを入力すべきかを知る必要があります。

この例では、対応がないt検定を実行することになりますが、JMPで対応のないt検定を実行するには、どのようにデータを入力するのでしょうか?

次の図1のように入力するのが直接的かもしれません。2つの列を作成し、一方に治療薬Aの値を、もう一方に対照薬の値を入力する方法です。

ソフトウェアによっては、このようにデータを入力してt検定を実行できるものもありますが、JMPでは、このままのデータでは実行できません。データを加工する必要があります。

JMPで対応のないt検定を実行するには、図2のようにデータを用意しておく必要があります。

1行で1例分の情報を表す、積み重ねのデータ形式です。
この例題は26例を対象にしているので、データの行数は26行になります。
この中で必須の列は、どちらの薬剤を投与したかを示す「投与薬」(名義尺度)と、「3か月後HbA1c(%)」(連続尺度)です。

列の積み重ね

図1のデータを、図2のような積み重ねのデータ形式にするには、[テーブル]メニューの[列の積み重ね]を用います。

図3左のように積み重ねる列として「治療薬A」、「対照薬」を選択し、必要に応じて、積み重ねたデータに列に対する名前をつけると、図3右のような積み重ねられたデータが作成されます。

二変量の関係

JMPでは、投与薬の違いによって3か月後のHbA1cに差があるかどうかをみるときに、「投与量」と「3か月後のHbA1c」の2つの変数間に関連があるかどうかをみる、と考えるのです。

JMPで2つの変数の関連をみるには、[分析]メニューにあるプラットフォーム「二変量の関係」 を用います。

[二変量の関係]において、[Y,目的変数]に「3か月後HbA1c(%)」、[X,説明変数]に「投与薬」を指定します(図4)。
Yに連続尺度、Xに名義尺度(または順序尺度)を指定した場合は、Xの群ごとに連続値Yを比較するためのレポート(一元配置分析)が表示されます。

レポート左上の赤い三角ボタン()から、[平均/ANOVA/プーリングしたt検定]を選択すると、t検定のレポートが表示されます(図5)。

t検定のレポートには、対照薬 – 治療薬A に対する平均の差や差の標準誤差、t値、自由度、p値などが表示されます。
両側検定(対立仮説が2つの母集団平均が等しくない)のp値は0.0333となり、有意水準5%で有意となっています。

対応のあるt検定

ここまでは、データに対応がないときのt検定に関することでしたが、対応があるデータの場合はどうでしょうか?

今度は、次の例題を考えてみます。

例題2.

例題1の治療薬群(12例)について、薬剤を投与する前のHbA1cと投与3か月後のHbA1cの値が得られた。対応のあるt検定を行い、HbA1cが投与前後で差があるかどうかをみる。

患者ID
2
3
8
9
10
11
13
14
20
23
24
25
投与前HbA1c(%)
7.17.4
8.7
9.5
7.6
8.3
8.9
7.9
7.3
11
7.3
7.7
3か月後HbA1c(%)
6.76.8
9
8.8
6.5
7.7
8.1
7.5
6.5
9.5
6.6
5.9

JMPでは、対応のあるデータを分析するプラットフォーム 「対応のあるペア」があり、ここで対応のあるt検定を実行できます。

 

「対応のあるペア」プラットフォームでは、図6のように、投与前、投与3か月後のデータが2列に入力されている必要があります。
この例のように1人が2回測定しているとき、各測定値を1つの列に入力することになります。

[対応のあるペア]において、[Y対応のある応答]に「投与前HbA1c(%)」、「3か月後HbA1c(%)」を指定します(図7)。

対応のあるペアのレポートが表示されます(図8)。

レポートには、各患者の検査値の差(3か月後HbA1c – 投与前HbA1c)について、平均や差の標準誤差、相関、t値、p値などが表示されます。
両側検定のp値は0.0005であり、有意水準を5%としたとき有意です。

患者はブロック因子です

ここまでお読みになって、「対応のない場合と対応のある場合とで、データの入力形式が違うのはややこしいなあ」と思われた方がいらっしゃるかもしれません。

実は、対応があるt検定は、積み重ねたデータ形式でも行うことができます。
前述した[列の積み重ね]により、図9の積み重ねたデータを作成できます。

このデータは、1人につき投与前で1行、投与後で1行、合計2行にわたって入力していることになります。

[二変量の関係]で、[ブロック]に「患者ID」を指定するのがポイントです。
図10のようにY、X、ブロックを指定します。

レポート左上の赤い三角ボタンから、[平均/ANOVA/プーリングしたt検定]を実行すると、ブロックを考慮したt検定、分散分析のレポートが表示されます(図11)。

図11のt検定のレポートの統計量(t値、p値など)は、図8の対応のある検定の統計量と一致していることが確認できます。

JMPでは、二変量の関係において[ブロック]を指定して分散分析(t検定)を実行すると、ブロックに指定した変数も第2の説明変数として加えた状態での二元配置分散分析を実行します。

ここでは患者IDをブロック因子として指定しているため、この変数を分散分析のモデルに加えることで、「この行とこの行の患者IDは同じだから、対応があるのだよ」という情報を加えていることになるのです。