Guest User

Untitled

a guest
Nov 16th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. fit1 <- survfit(Surv(dat$diff_in_days, dat$survivalstat)~Schedule,data = dat)
  2.  
  3. #turn into df
  4. df <- broom::tidy(fit1)
  5.  
  6. fit_df <- df %>%
  7. #group by strata
  8. group_by(strata) %>%
  9. #get day of interest or day before it
  10. filter(time <= 365) %>%
  11. arrange(time) %>%
  12. # pull last date
  13. do(tail(.,1))
  14.  
  15. #calculate z score based on 2 sample test at that time point
  16. z <- (fit_df$estimate[1]-fit_df$estimate[2]) / (sqrt( fit_df$std.error[1]^2+ fit_df$std.error[2]^2))
  17. #get probability of z score
  18. pz <- pnorm(abs(z))
  19. #get p value
  20. pvalue <- round(2 * (1-pz),2)
  21.  
  22. ggsurv <- ggsurvplot(
  23. fit1,
  24. data = dat,
  25.  
  26. pval = TRUE,
  27. pval.size = 4,
  28. pval.method = TRUE,
  29. pval.method.size = 3,
  30. log.rank.weights = "1",
  31.  
  32. conf.int = TRUE,
  33. conf.int.style = "ribbon",
  34. conf.int.alpha = 0.2,
  35.  
  36. xlab = "Time in days",
  37.  
  38. tables.theme = theme_cleantable(),
  39. ggtheme = theme_bw()
  40. )
  41.  
  42. ggsurv$plot <- ggsurv$plot +
  43. geom_vline(aes(xintercept=365))+
  44. geom_text(aes(x = 500,y=.8,label = paste0("p = " ,pvalue) ))
  45.  
  46. print(ggsurv)
Add Comment
Please, Sign In to add comment