Bootstrap (через paramtest) в r: как построить статистику на основе * большей * или * меньшей * выборки, чем используемый набор данных? - PullRequest
1 голос
/ 21 марта 2019

Контекст: я пытаюсь сделать довольно сложный расчет мощности перед экспериментом с заблокированным назначением лечения.У меня есть данные из предыдущего запуска эксперимента.Я думаю:

  1. Образец из предыдущих данных с заменой для генерации SAMPLESIZE наблюдений
  2. Заблокированное назначение лечения, как в протоколе эксперимента
  3. Создание прогнозируемых результатов, предполагающих конкретноеEFFECTSIZE
  4. Создание оценки, тест-статистика, значимость

Повторите шаги 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))

Однако я не могу понять, как адаптировать его к повторной выборке, чтобы каждая реплика имела больший (или меньший) размер выборки, чем данные, из которых производится выборка.

1 Ответ

0 голосов
/ 21 марта 2019
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, ]
    # ...
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...