El enfoque de @ ocram ciertamente funcionará. Sin embargo, en términos de las propiedades de dependencia es algo restrictivo.
Otro método es usar una cópula para derivar una distribución conjunta. Puede especificar distribuciones marginales para el éxito y la edad (si tiene datos existentes, esto es especialmente simple) y una familia de cópulas. Variar los parámetros de la cópula producirá diferentes grados de dependencia, y las diferentes familias de cópula le darán varias relaciones de dependencia (por ejemplo, una fuerte dependencia de la cola superior).
Una descripción general reciente de cómo hacer esto en R a través del paquete de cópula está disponible aquí . Vea también la discusión en ese documento para paquetes adicionales.
Sin embargo, no necesariamente necesita un paquete completo; Aquí hay un ejemplo simple usando una cópula gaussiana, probabilidad de éxito marginal 0.6 y edades distribuidas gamma. Varíe r para controlar la dependencia.
r = 0.8 # correlation coefficient
sigma = matrix(c(1,r,r,1), ncol=2)
s = chol(sigma)
n = 10000
z = s%*%matrix(rnorm(n*2), nrow=2)
u = pnorm(z)
age = qgamma(u[1,], 15, 0.5)
age_bracket = cut(age, breaks = seq(0,max(age), by=5))
success = u[2,]>0.4
round(prop.table(table(age_bracket, success)),2)
plot(density(age[!success]), main="Age by Success", xlab="age")
lines(density(age[success]), lty=2)
legend('topright', c("Failure", "Success"), lty=c(1,2))
Salida:
Mesa:
success
age_bracket FALSE TRUE
(0,5] 0.00 0.00
(5,10] 0.00 0.00
(10,15] 0.03 0.00
(15,20] 0.07 0.03
(20,25] 0.10 0.09
(25,30] 0.07 0.13
(30,35] 0.04 0.14
(35,40] 0.02 0.11
(40,45] 0.01 0.07
(45,50] 0.00 0.04
(50,55] 0.00 0.02
(55,60] 0.00 0.01
(60,65] 0.00 0.00
(65,70] 0.00 0.00
(70,75] 0.00 0.00
(75,80] 0.00 0.00