Bonjour,
J'effectue une simulation de données pour une analyse de survie avec le modèle Cox. Mon étude porte sur un cas spécial où des covariables sont fortement corrélées. Lorsque je genere X iid N(0,1) elles ne le sont pas puisque normales, comment pourrais-je générer des variables pour les forcer à être corrélées?
J'ai inclus le code R effectué ci-dessous.
Merci !
n = 10000
p=1000
beta= c(2,-1,3, rep(0,997))
lambdaT = .002
lambdaC = .004
X<-matrix(rnorm(n*p), nrow=n, ncol=p) # Matrice de covariables Xi iid N(0,1)
T = rweibull(n, shape=1, scale=lambdaT*exp(X %*% beta))
C = rweibull(n, shape=1, scale=lambdaC) #Temps censuré
time = pmin(T,C) #Temps observé
evenement = time==T # 1 si l'évènement est observé
table(evenement)
evenement
FALSE TRUE
4083 5917
library(survival)
fit1 <-coxph(Surv(time, evenenement)~ X, method="breslow")
-----