У меня есть данные, которые сгруппированы в блоки или кластеры.Я хотел бы сгенерировать несколько загрузочных выборок для оценки модели с этими данными, где блоки / кластеры отбираются с заменой.Тем не менее, это ставит меня перед некоторой дилеммой, когда дело доходит до анализа, потому что у меня есть повторы идентификатора блока / кластера.
Например, скажем, мои данные выглядят так:
set.seed(1)
test <- data.frame(block = rep(1:10, each = 5), matrix(rnorm(150), ncol = 3))
На практике я буду выполнять несколько примеров начальной загрузки, но для дидактических целей, скажем, мне нужен только один новый набор данных, в котором я случайно выбрал идентификаторы с заменой из исходного набора данных выше, как показано ниже:
test <- as.data.table(test)
setkey(test, 'block')
random.block <- sample(unique(test$block), size=10, replace=TRUE)
random.sample <- test[J(random.block), allow.cartesian=TRUE]
Это работает так, как задумано: он создает новый набор данных того же размера, что и исходный набор данных, но где блоки были случайно выбраны с заменой.
Проблема заключается в следующем: вИсходный набор данных, каждый блок имеет только 5 наблюдений (в моем реальном наборе данных число наблюдений для блока является переменным, для записи).В новом наборе данных, хотя в каждом блоке есть только 5 наблюдений, поскольку я провел выборку с заменой, у меня теперь есть несколько блоков с одинаковым идентификационным номером.
В новом наборе данных, если я пытаюсь выполнить какой-либо анализэто стратифицировано или зависит от идентификационного номера блока (например, что-то такое простое, как среднее от X переменных на блок, или более сложный анализ, такой как смешанная модель со случайным воздействием на блок), он обрабатывает повторения идентификатора блокакак единый блок.Таким образом, вместо, скажем, 3 различных блоков размера 5, это дает мне один блок размера 15. Это может оказать глубокое влияние на анализ, не говоря уже о интерпретации каких-либо результатов.
У меня есть вопрос: как я могу назначить новый уникальный идентификатор блока в моем наборе данных со случайной выборкой?Таким образом, что после того, как я произвел выборку с заменой, каждая выборка каждого блока имеет уникальный идентификатор, чтобы в моем конечном анализе они рассматривались как отдельные блоки, а не как один больший блок?Я могу придумать специальные способы сделать это (например, если каждый блок имеет одинаковое количество наблюдений), но ничего простого или обобщенного.