Adjusted survival curves

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Adjusted survival curves

R help mailing list-2

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]]

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|

Re: Adjusted survival curves

R help mailing list-2

Adjusted survival curves. (Sample code here:  https://rpubs.com/daspringate/survival )
Deep gratitude to Moderator/Admin!
At David Winsemius prompt, more elegant working code:Thanks, Ted :)
library(survival)
library(survminer)
df<-read.csv("F:/R/data/edgr-orig.csv", header = TRUE, sep = ";")

df2 <- df
df2[,c('treatment', 'age', 'sex', 'stage')] <- lapply(df2[,c('treatment', 'age', 'sex', 'stage')], factor)

model <- coxph (Surv(time = start,
                                   time2 = stop,
                                   event = censor)~ treatment + age + sex + stage, data = df2)
treat <- with(df2,
              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"))
        [[alternative HTML version deleted]]

______________________________________________
[hidden email] 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.