Я выполняю субдискретизацию следующим образом, используя функцию sample () в R.
x <- 100
y <- 10
probs <- c(rep(0.30, 3), rep(0.10/7, 7))
prop.y <- 0.05
subset.y <- sort(sample(y, size = ceiling(prop.y * y), replace = FALSE))
sample(subset.y, size = x, replace = TRUE, prob = probs[subset.y])
Когда я запускаю вышеуказанные строки кода, я получаю сообщение об ошибке
Error in sample.int(x, size, replace, prob) :
incorrect number of probabilities
Проблема связана с последней строкой кода.
В этом случае subset.y содержит целочисленный тип данных (например, 1L).
Однако, когда prop.y больше 1 / y, скажем 0.11, проблем нет. В этом случае subset.y содержит тип данных int длины 2.
Может ли кто-нибудь объяснить это?