Я запустил следующий код:
library(randomizr)
set.seed(25)
imaginaryhouses <- sample(x = 1:1995, size = 1995)
imaginaryprecinct <- rep(1:57, times=35)
imaginarydata <- as.data.frame(cbind(imaginaryhouses, imaginaryprecinct))
imaginarydata <- rbind(imaginarydata, c(647, 1))
imaginarydata <- rbind(imaginarydata, c(1, 7))
imaginarydata <- rbind(imaginarydata, c(4, 36))
imaginarydata <- rbind(imaginarydata, c(4, 36))
imaginarydata <- rbind(imaginarydata, c(4, 36))
imaginarydata$imaginaryperson <- sample(x = 1:2000, size = 2000)
imaginarydata$assignment <- block_and_cluster_ra(blocks = imaginarydata$imaginaryprecinct,
clusters = imaginarydata$imaginaryhouses,
conditions = c("treatment", "control"),
check_inputs = TRUE)
По сути, это 57 районов, в которых по 35 домохозяйств в каждом. Чтобы сделать вещи более реалистичными c Я добавил несколько дополнительных людей, чтобы жить в каждом домохозяйстве, но это не очень важно для вопроса.
Предположим, я хотел выполнить случайное распределение блоков так, чтобы ровно 25 воображаемых домов были назначено лечение, и 10 оставшихся домов в каждом блоке назначены для контроля. Что мне нужно добавить в код, чтобы сделать это?