1

背景:我正在尝试在涉及阻塞治疗分配的实验之前进行相当复杂的功率计算。我有上一次实验的数据。我在想:

  1. 从先前数据中抽取样本并进行替换以生成 SAMPLESIZE 观测值
  2. 实验方案中的阻断治疗分配
  3. 假设特定的 EFFECTSIZE 生成预测结果
  4. 生成估计、检验统计量、显着性

重复步骤 1-4 5000 次以估计实验功率,网格搜索 SAMPLESIZE 和 EFFECTSIZE 的值,绘制

我正在关注使用设置来执行此操作的小插曲;他们最小的例子是:paramtestboot=TRUE

  t_func_boot <- function(data, indices) {
    sample_data <- data[indices, ]
    treatGroup <- sample_data[sample_data$group == 'trt2', 'weight']
    ctrlGroup <- sample_data[sample_data$group == 'ctrl', 'weight']
    t <- t.test(treatGroup, ctrlGroup, var.equal=TRUE)
    stat <- t$statistic
    p <- t$p.value
    return(c(t=stat, p=p, sig=(p < .05)))
  }

    power_ttest_boot <- run_test(t_func_boot, n.iter=5000, output='data.frame', boot=TRUE,
 bootParams=list(data=PlantGrowth))
    results(power_ttest_boot) %>%
      summarise(power=mean(sig))

但是,我无法弄清楚如何使其适应重新采样,以便每个复制具有比从中采样的数据更大(或更小)的样本量。

4

1 回答 1

-1
t_func_boot <- function(data, indices) {
    sample_data <- data[indices, ]
    N <- calculate_the_N_somehow()
    subsample <- sample(nrow(sample_data), N, replace = TRUE)
    sample_data <- sample_data[subsample, ]
    # ...
  }
于 2019-03-21T10:24:25.057 回答