引导置信区间和对数响应比的平均值

时间:2012-10-24 16:18:49

标签: r bootstrapping

我正在尝试引导95%CI和测量值的平均值,以检查治疗的效果大小。我想要使​​用的方法称为LnRR或对数响应比(123)。它只是由Log(Response to treatment / Response to control)计算得出。如果95%CI与0不重叠,则效果自然超过95%。负LnRR意味着治疗具有负面影响。

启动包中的bootstrapping功能有点令人困惑,我正在努力计算95%的CI和平均值。我试过以下:

library(boot)
set.seed(2)
dat <- data.frame(treatment = rnorm(10, 1.2, 0.4), control = rnorm(10, 1.5, 0.3))

boot(dat, function(x) log(x[,1]/x[,2]), R = 999) # Because LnRR = log(dat[,1]/dat[,2])

我显然做错了什么。如何为这种类型的函数引导置信区间(boot.ci)?我确信答案是here,但由于某种原因,我无法理解如何做到这一点。

1 个答案:

答案 0 :(得分:7)

我同意boot synatax起初有点令人困惑。问题是你需要编写一个函数来获取你的数据,以及包含索引的向量i到子样本。让我们明确地重写你的函数,使它更清晰:

yourFun <- function(x, i) {
  xSub <- x[i, ] #resample x
  LnRR <- log(xSub[, 1])/xSub[ ,2]
  return(mean(LnRR))
}

然后以与你相同的方式或多或少地调用boot:

b <- boot(dat, yourFun, R=999)
plot(b) #always worth looking at

#Calculate ci's
boot.ci(b)