Bueno, después de un poco de investigación he encontrado la respuesta a mi pregunta, así que aquí está el código que permite la simulación:
simulation <- function(n,lambda,changepoint, surv.df=TRUE) {
# Define the covariate, restrictions and parameters.
X <- rbinom(n,prob=1/3,size=1)
E <- rexp(n,1)
EL <- rexp(n,lambda)
# Define the piecewise function.
Y <- ifelse(X==0,E,
ifelse(E<=changepoint,E,changepoint+EL))
## Construction of the data frame.
if (surv.df) data.frame(Y,X) else cbind(Y,X)
}
Ahora, si quisiéramos hacer m Monte Carlo réplicas de este dataframe:
m = "number of replicas"
survive.df <- replicate(m, simulation(n = 100 ,lambda = 1,changepoint = 1), simplify=FALSE)
Para ver un conjunto de datos de los :
survive.df[[i]]
Un modelo de riesgos proporcionales de Cox con el dataset de la forma:
coxph(Surv(Y)~X , data=survive.df[[i]]) # Model.
cox.zph(coxph(Surv(Y)~X , data=survive.df[[i]])) # Schoenfield residuals.
¿Alguna sugerencia?