Имитация сопоставленных данных "случай-контроль" со стратами после определенного распределения

Я пытаюсь смоделировать сопоставленные данные типа "случай-контроль", которые будут проанализированы с использованием условной логистической регрессии, в которой страты имеют специфическое распределение (в частности, с перекосом вправо). То есть большинство страт имеют мало случаев и / или контролей, в то время как только несколько страт имеют много случаев / контролей. Это код, который я до сих пор:

set.seed(24)
df.rf <- data.frame(status = sample(0:1, 10000, replace=TRUE, prob = c(0.74, 0.26)), 
             stratum = sample(1:248, 10000, replace = TRUE),
             education = sample(1:3, 10000, replace=TRUE, prob = c(0.56, 0.19, 0.26)))

xtabs(~ stratum + status, data = df.rf)[, 2:1]
stratum <- as.data.frame.matrix(xtabs(~ stratum + status, data = df.rf)[, 2:1])
colnames(stratum)[c(1:2)] <- c("case", "control")
hist(stratum$case)
hist(stratum$control)

Как видите, распределения для "статуса" и "образования" моделируются с использованием вероятностей из моих фактических данных. Мои данные страты имеют 17% страт с нулевыми случаями и 1% страт с нулевыми контролями, а распределения количества наблюдений и контролей по стратам совершенно искажены, почти логарифмически распределены. Однако распределения случаев и контролей в разных стратах, созданных с использованием случайно смоделированной переменной страты, более или менее нормально распределены, и все страты имеют случаи и контроли.

Я понятия не имею, как имитировать эти условия, чтобы я мог сравнить результаты моделирования с моими фактическими данными. Я буду признателен за ваши идеи.

0 ответов

Другие вопросы по тегам