4

地域の長いリスト、各地域の人口、および各地域で特定の病気にかかっている人の数を示すデータがあります。各割合の信頼区間を表示しようとしています (ただし、割合が統計的に異なるかどうかはテストしていません)。

1 つのアプローチは、標準誤差と信頼区間を手動で計算することですが、いくつかの便利なオプションがあるため、prop.test のような組み込みツールを使用したいと思います。ただし、ベクトルで prop.test を使用すると、すべての比率でカイ 2 乗検定が実行されます。

私はこれを while ループで解決しました (以下のダミー データを参照)。ここで仕事を適用しますか、そしてどのように?ありがとう!

dat <- data.frame(1:5, c(10, 50, 20, 30, 35))
names(dat) <- c("X", "N")
dat$Prop <- dat$X / dat$N

ConfLower = 0
x = 1
while (x < 6) {
    a <- prop.test(dat$X[x], dat$N[x])$conf.int[1]
    ConfLower <- c(ConfLower, a)
    x <- x + 1
}

ConfUpper = 0
x = 1
while (x < 6) {
    a <- prop.test(dat$X[x], dat$N[x])$conf.int[2]
    ConfUpper <- c(ConfUpper, a)
    x <- x + 1
}

dat$ConfLower <- ConfLower[2:6]
dat$ConfUpper <- ConfUpper[2:6] 
4

1 に答える 1

4

Mapこれは、以前の回答から本質的に盗まれたを使用した試みです:
https://stackoverflow.com/a/15059327/496803

res <- Map(prop.test,dat$X,dat$N)
dat[c("lower","upper")] <- t(sapply(res,"[[","conf.int"))

#  X  N      Prop       lower     upper
#1 1 10 0.1000000 0.005242302 0.4588460
#2 2 50 0.0400000 0.006958623 0.1485882
#3 3 20 0.1500000 0.039566272 0.3886251
#4 4 30 0.1333333 0.043597084 0.3164238
#5 5 35 0.1428571 0.053814457 0.3104216
于 2013-12-16T01:01:51.790 に答える