Контекст: я пытаюсь сделать довольно сложный расчет мощности перед экспериментом с заблокированным назначением лечения.У меня есть данные из предыдущего запуска эксперимента.Я думаю:
- Образец из предыдущих данных с заменой для генерации SAMPLESIZE наблюдений
- Заблокированное назначение лечения, как в протоколе эксперимента
- Создание прогнозируемых результатов, предполагающих конкретноеEFFECTSIZE
- Создание оценки, тест-статистика, значимость
Повторите шаги 1-4 5000 раз для оценки экспериментальной мощности, с сеточным поиском по значениям SAMPLESIZE и EFFECTSIZE, график
Я следую виньеткам за то, что делал это с paramtest
с настройкой boot=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))
Однако я не могу понять, как адаптировать его к повторной выборке, чтобы каждая реплика имела больший (или меньший) размер выборки, чем данные, из которых производится выборка.