Adjusted survival curves (Thanks to sample code: https://rpubs.com/daspringate/survival ) Thanks to Moderator/Admin's Great Work! For a successful solution I used advice that could be understood: 1. Peter Dalgaard: The code does not work, because the covariates are not factors. 2. Jeff Newmiller: "Change the columns into factors before you give them to the coxph function, e.g. df$treatment <- as.factor(df$treatment)" And I study David Winsemius's instructions.THANKS!!! Code works:
library(survival) library(survminer) df<-read.csv("F:/R/data/edgr-orig.csv", header = TRUE, sep = ";") head(df) # "age" means the age groups ID start stop censor sex age stage treatment 1 0 66 0 2 1 3 1 2 0 18 0 1 2 4 2 3 0 43 1 2 3 3 1 4 0 47 1 2 3 NA 2 5 0 26 0 1 4 3 NA # Change continuous var. as factors df$sex<-as.factor(df$sex) df$age<-as.factor(df$age) df$stage<-as.factor(df$stage) df$treatment<-as.factor(df$treatment) S <- Surv( time = df$start, time2 = df$stop, event = df$censor) model <- coxph( S ~ treatment + age + sex + stage, data = df) plot(survfit(model), las=1, xscale = 1.00, xlab = "Months after diagnosis", ylab = "Proportion survived", main = "Baseline Hazard Curve") treat <- with(df, data.frame( treatment = levels(treatment), age = rep(levels(age)[1], 2), sex = rep(levels(sex)[1], 2), stage = rep(levels(stage)[1], 2))) plot(survfit(model, newdata = treat), las=1, xscale = 1.00, conf.int = TRUE, xlab = "Months after diagnosis", ylab = "Proportion survived", col = c("red", "green")) legend(8, 0.9, legend = c("Beta blockers", "No beta blockers"), lty = 1, col = c("green", "red")) [[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.