Hello everybody, I come with a question which I do not know how to conduct in an efficient way. In order to provide a toy example, consider the dataset "pbc" from the package "survival". First, I fit the Cox model "Cox0":
library("survival") set.seed(1) v <- runif(nrow(pbc), min = 0, max = 2) Cox0 <- coxph(Surv(pbc$time,pbc$status == 2) ~ v, data = pbc) Then, from the above model, I can fit recursively 10 additional models as: Cox <- list() Cox[[1]] <- update(Cox0, . ~ . + cos(1 * v), data = pbc) Cox[[2]] <- update(Cox[[1]], . ~ . + cos(2 * v), data = pbc) Cox[[3]] <- update(Cox[[2]], . ~ . + cos(3 * v), data = pbc) Cox[[4]] <- update(Cox[[3]], . ~ . + cos(4 * v), data = pbc) ... Cox[[10]] <- update(Cox[[9]], . ~ . + cos(10* v), data = pbc) Since in practice I have to repeat above step until Cox[[100]], say, do you know an efficient way to wrap this code chunk in a loop or similar? I had tried: set.seed(1) v <- runif(nrow(pbc), min = 0, max = 2) Cox0 <- coxph(Surv(pbc$time,pbc$status == 2) ~ v, data = pbc) Cox <- list() Cox[[1]] <- update(Cox0, . ~ . + cos(1 * v), data = pbc) for (k in 1:10) { Cox[[k + 1]] <- update(Cox[[k]], . ~ . + cos((k + 1) * v), data = pbc) } However, from Cox[[3]] onwards, the intermediate values of integer k are not included here (for instance, the model Cox[[10]] would only include the cosinus terms for cos(1*v) and cos(10*v)). Thanks in advance for any help! Frank [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.