コルモゴロフ・スミルノフ検定 ks.test *機能 一標本コルモゴロフ・スミルノフ検定または二標本コルモゴロフ・スミルノフ検定を行う。 *使用法 ks.test(x, y, ..., alternative = c("two.sided", "less", "greater"), exact = NULL) *引数 x データベクトル y 一標本検定の場合には分布を表す文字列 "pnorm", "punif" など "p*" 二標本検定の場合にはデータベクトル ... 一標本検定で y で分布を指定したとき,その分布のパラメータ alternative 対立仮説の種類 "two.sided", "less", "greater" のいずれか 最初の1文字だけでもよい 両側検定なら "two.sided"(デフォルト) 片側検定なら "less" または "greater" exact NULL または 正確な P 値を計算するかどうかを TRUE か FALSE で指定する 二標本検定の片側検定や同値がある場合には正確な P 値は計算できない NULL を指定しておくと,一標本検定でサンプルサイズが 100 未満の場合,および, 二標本検定の両側検定で両群のサンプルサイズの積が 10000 未満の場合には正確な P 値が計算される *戻り値 **関数への入力 $ alternarive: 対立仮説の種類 **関数からの出力 $ statistic : 検定統計量 $ p.value : P 値 $ method : 検定の種別 $ data.name : データの記述 *例1 一標本検定 10 〜 20 に分布する一様乱数を生成した。このデータが実際に一様分布しているかどうか検定する。 > x <- c(15.01, 19.7, 17.88, 19.02, 18.14, 18, 11.16, 17.17, 11.02, + 16.86, 15.72, 13.43, 10.96, 17.42, 14.23) > ks.test(x, "punif", min=10, max=20) # 10 〜 20 の範囲の一様分布か? One-sample Kolmogorov-Smirnov test data: x D = 0.2193, p-value = 0.4073 # もっともらしい alternative hypothesis: two.sided > ks.test(x, "pnorm", mean=15, sd=2.5) # 平均値 15,標準偏差 2.5 の正規分布か? One-sample Kolmogorov-Smirnov test data: x D = 0.3049, p-value = 0.09821 # これも否定はできない alternative hypothesis: two.sided *例2 二標本検定 > x <- c(1,2,3,2,1,2,3,4,3,4,5,3,4,5,3,2) > y <- c(3,2,3,4,5,3,2,2,2,2,2,3,4,5) > ks.test(x, y) Two-sample Kolmogorov-Smirnov test data: x and y D = 0.125, p-value = 0.9998 alternative hypothesis: two.sided Warning message: タイがあるため、正しい p 値を計算することができません in: ks.test(x, y) 注:上の警告メッセージは正確ではない。 「正確な P 値を計算できない」ということであって, 誤った P 値を計算しているわけではない。