EZRで2群の比率の差の信頼区間を求めると小数点以下3桁に丸められた数値が出力される。
小数点以下の桁数を増やす方法。
EZRで2群の比率の差の信頼区間を求める
「統計解析」→「名義変数の解析」→「2群の比率の差の信頼区間の計算」メニューを使って、計算する。
例えば、47000分の460と39000分の200の差の95%信頼区間を計算すると、Rスクリプト窓に以下のように書かれて、出力窓に結果が表示される。
Rスクリプト
#####2群の比率の差の信頼区間の計算#####
prop.diff.conf(460, 47000, 200, 39000, 95)
出力
> prop.diff.conf(460, 47000, 200, 39000, 95)
[1] 比率の差 : 0.005
[1] 95% 信頼区間 : 0.004 - 0.006
EZRで2群の比率の差の信頼区間を計算するスクリプトを確認して一部変更する
Rスクリプト窓に、prop.diff.conf と書いて、実行し、prop.diff.conf関数の中身を表示させる。
prop.diff.conf()関数の中身は以下の通り。
> prop.diff.conf
function (r1, n1, r2, n2, conf)
{
alpha <- 1 - conf/100
p1 <- r1/n1
p2 <- r2/n2
D <- p1 - p2
SE <- sqrt(p1 * (1 - p1)/n1 + p2 * (1 - p2)/n2)
pl <- D - qnorm(1 - alpha/2) * SE
pu <- D + qnorm(1 - alpha/2) * SE
print(paste(gettext(domain = "R-RcmdrPlugin.EZR", "Difference :"),
" ", round(D, 3), sep = ""), quote = F)
print(paste(conf, gettext(domain = "R-RcmdrPlugin.EZR", "% confidence interval :"),
" ", round(pl, 3), " - ", round(pu, 3), sep = ""), quote = F)
}
下から 2 行目と 4 行目に、round(, 3)とあるところ計 3か所を、例えばround(,8)として、小数点以下8桁まで表示させるように変更する。
function (r1, n1, r2, n2, conf)
{
alpha <- 1 - conf/100
p1 <- r1/n1
p2 <- r2/n2
D <- p1 - p2
SE <- sqrt(p1 * (1 - p1)/n1 + p2 * (1 - p2)/n2)
pl <- D - qnorm(1 - alpha/2) * SE
pu <- D + qnorm(1 - alpha/2) * SE
print(paste(gettext(domain = "R-RcmdrPlugin.EZR", "Difference :"),
" ", round(D, 8), sep = ""), quote = F)
print(paste(conf, gettext(domain = "R-RcmdrPlugin.EZR", "% confidence interval :"),
" ", round(pl, 8), " - ", round(pu, 8), sep = ""), quote = F)
}
EZRで2群の比率の差の信頼区間を計算する修正スクリプトを実行する
新しい関数名、例えば prop.diff.conf.rev という名前の関数に上記の内容を格納するというスクリプトをRスクリプト窓に貼り付けて実行する。
prop.diff.conf.rev <-
function (r1, n1, r2, n2, conf)
{
alpha <- 1 - conf/100
p1 <- r1/n1
p2 <- r2/n2
D <- p1 - p2
SE <- sqrt(p1 * (1 - p1)/n1 + p2 * (1 - p2)/n2)
pl <- D - qnorm(1 - alpha/2) * SE
pu <- D + qnorm(1 - alpha/2) * SE
print(paste(gettext(domain = "R-RcmdrPlugin.EZR", "Difference :"),
" ", round(D, 8), sep = ""), quote = F)
print(paste(conf, gettext(domain = "R-RcmdrPlugin.EZR", "% confidence interval :"),
" ", round(pl, 8), " - ", round(pu, 8), sep = ""), quote = F)
}
新しい関数 prop.diff.conf.rev() を使って、先ほどと同じ計算をしてみる。
Rスクリプト窓に、prop.diff.conf.rev(460, 47000, 200, 39000, 95)
と書いて、実行をクリックする。
すると以下のように結果が表示される。小数点以下8桁まで表示されている。
> prop.diff.conf.rev(460, 47000, 200, 39000, 95)
[1] 比率の差 : 0.00465903
[1] 95% 信頼区間 : 0.0035212 - 0.00579685
まとめ
EZRで2群の比率の差の信頼区間を計算する場合、結果の値の小数点以下の桁数を変更するには、メニューやダイアログボックスからは変更できないが、Rスクリプトを少し修正すると可能である。
おすすめ書籍
EZR公式マニュアル
コメント