data=readr::read_csv("D:\\spss exam\\Survival Data.csv")
## # A tibble: 200 × 4
## Time Status Treatment Age
## <dbl> <dbl> <dbl> <dbl>
## 1 87 1 1 63
## 2 38 1 2 73
## 3 80 1 2 63
## 4 44 1 2 75
## 5 64 0 2 64
## 6 129 1 2 67
## 7 114 0 1 79
## 8 52 1 2 50
## 9 13 0 1 59
## 10 73 0 2 60
## # ℹ 190 more rows
## Time Status Treatment Age
## Min. : 2.00 Min. :0.0 Min. :1.00 Min. :50.00
## 1st Qu.: 32.00 1st Qu.:0.0 1st Qu.:1.00 1st Qu.:60.00
## Median : 66.50 Median :0.5 Median :2.00 Median :68.00
## Mean : 66.94 Mean :0.5 Mean :1.53 Mean :67.92
## 3rd Qu.: 98.75 3rd Qu.:1.0 3rd Qu.:2.00 3rd Qu.:75.00
## Max. :135.00 Max. :1.0 Max. :2.00 Max. :85.00
data %>%
summarise(Mean_time=mean(Time), Mean_age= mean(Age), total_variable=n(), type_of_status=n_distinct(Status), treatment_type=n_distinct(Treatment), spread_of_time=sd(Time), spread_of_age= sd(Age)) %>%
pivot_longer(everything(),cols_vary = "slowest") %>%
rename("summary_statistics"="name")
## # A tibble: 7 × 2
## summary_statistics value
## <chr> <dbl>
## 1 Mean_time 66.9
## 2 Mean_age 67.9
## 3 total_variable 200
## 4 type_of_status 2
## 5 treatment_type 2
## 6 spread_of_time 39.5
## 7 spread_of_age 9.97
attach(data)
S1<-Surv(Time,Status)
fit1<-survfit(S1~Treatment,data = data)
fit1
## Call: survfit(formula = S1 ~ Treatment, data = data)
##
## n events median 0.95LCL 0.95UCL
## Treatment=1 94 49 94 83 116
## Treatment=2 106 51 109 94 123
#png(filename = "D:\\spss exam\\Survival plot.png", width = 800, height = 600, units = "px")
plot(fit1,col=3:4, xlim=c(0,140),lwd=3, lty="solid",mark.time=TRUE, main="Kaplan-Meier Curve",xlab="Time", ylab="Survival Probability")
legend(80, 0.9, c("Treatment-1", "Treatment-2"), col=3:4, lwd=3)

## Call:
## survdiff(formula = S1 ~ Treatment)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## Treatment=1 94 49 46.2 0.169 0.329
## Treatment=2 106 51 53.8 0.145 0.329
##
## Chisq= 0.3 on 1 degrees of freedom, p= 0.6
Cox<-coxph(Surv(Time,Status)~Treatment+Age)
summary(Cox)
## Call:
## coxph(formula = Surv(Time, Status) ~ Treatment + Age)
##
## n= 200, number of events= 100
##
## coef exp(coef) se(coef) z Pr(>|z|)
## Treatment -0.12380 0.88356 0.20109 -0.616 0.538
## Age -0.01052 0.98954 0.01022 -1.029 0.304
##
## exp(coef) exp(-coef) lower .95 upper .95
## Treatment 0.8836 1.132 0.5957 1.31
## Age 0.9895 1.011 0.9699 1.01
##
## Concordance= 0.54 (se = 0.032 )
## Likelihood ratio test= 1.36 on 2 df, p=0.5
## Wald test = 1.37 on 2 df, p=0.5
## Score (logrank) test = 1.37 on 2 df, p=0.5
library(broom)
tidy(Cox, exponentiate=T, conf.int=T)
## # A tibble: 2 × 7
## term estimate std.error statistic p.value conf.low conf.high
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Treatment 0.884 0.201 -0.616 0.538 0.596 1.31
## 2 Age 0.990 0.0102 -1.03 0.304 0.970 1.01