library(survival)
library(flexsurv)
## Warning: package 'flexsurv' was built under R version 4.0.3
G1=c(12.3,5.4,12.5,8.6,6.7,9.8,4.3)
G1=sort(G1)
G1
## [1] 4.3 5.4 6.7 8.6 9.8 12.3 12.5
G2=c(2.8,4.3,10.1,5.4,6.7,5.4,9.2,7.2)
G2=sort(G2)
G2
## [1] 2.8 4.3 5.4 5.4 6.7 7.2 9.2 10.1
S1=c(1,1,0,1,1,0,0)
S2=c(1,1,1,1,1,1,0,0)
Surv1=Surv(time=G1,event=S1)
Surv1
## [1] 4.3 5.4 6.7+ 8.6 9.8 12.3+ 12.5+
Surv2=Surv(time=G2,event=S2)
Surv2
## [1] 2.8 4.3 5.4 5.4 6.7 7.2 9.2+ 10.1+
s11=survfit(Surv1~1,type="kaplan-meier")
H01=s11$cumhaz
s11$surv
## [1] 0.8571429 0.7142857 0.7142857 0.5357143 0.3571429 0.3571429 0.3571429
H01
## [1] 0.1428571 0.3095238 0.3095238 0.5595238 0.8928571 0.8928571 0.8928571
h01=1:7
h01[1]=H01[1]
for(i in 2:7){
h01[i]=H01[i]-H01[i-1]
}
h01
## [1] 0.1428571 0.1666667 0.0000000 0.2500000 0.3333333 0.0000000 0.0000000
plot(Surv1,col = "red",ylim=c(0,1.5),xlab="Time",ylab="S(t)",main="Survival Function of Group 1")

plot(G1,h01,type="l",main="Hazard Function of Group 1")

s22=survfit(Surv2~1,type="kaplan-meier")
s22
## Call: survfit(formula = Surv2 ~ 1, type = "kaplan-meier")
##
## n events median 0.95LCL 0.95UCL
## 8.00 6.00 6.05 5.40 NA
H02=s22$cumhaz
s22$surv
## [1] 0.875 0.750 0.500 0.375 0.250 0.250 0.250
s22$time
## [1] 2.8 4.3 5.4 6.7 7.2 9.2 10.1
H02
## [1] 0.1250000 0.2678571 0.6011905 0.8511905 1.1845238 1.1845238 1.1845238
h02=1:8
h02[1]=H02[1]
for(i in 2:8){
h02[i]=H02[i]-H02[i-1]
}
h02
## [1] 0.1250000 0.1428571 0.3333333 0.2500000 0.3333333 0.0000000 0.0000000
## [8] NA
plot(Surv2,col = "red",ylim=c(0,1.5),xlab="Time",ylab="S(t)",main="Survival Function of Group 1")

plot(G2,h02,type="l",main="Hazard Function of Group 1")

data2=data.frame(cbind(c(G1,G2),c(S1,S2)))
group=c(rep("G1",7),rep("G2",8))
data2["group"]=group
data2
s3=Surv(time=data2$X1,event=data2$X2,type="right")
survdiff(s3~group,data=data2)
## Call:
## survdiff(formula = s3 ~ group, data = data2)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## group=G1 7 4 5.51 0.414 1.02
## group=G2 8 6 4.49 0.508 1.02
##
## Chisq= 1 on 1 degrees of freedom, p= 0.3
data3=data.frame(G1,S1)
Sd1=Surv(G1,S1)
library(frailtypack)
## Warning: package 'frailtypack' was built under R version 4.0.4
## Loading required package: boot
##
## Attaching package: 'boot'
## The following object is masked from 'package:survival':
##
## aml
## Loading required package: MASS
## Loading required package: survC1
## Warning: package 'survC1' was built under R version 4.0.4
## Loading required package: doBy
## Warning: package 'doBy' was built under R version 4.0.4
##
## Attaching package: 'frailtypack'
## The following object is masked from 'package:survival':
##
## cluster
s23=frailtyPenal(Sd1~1,n.knots = 9,kappa = 1,data=data3)
##
## Be patient. The program is computing ...
## The program took 0.03 seconds
plot(s23,main="Frailty Hazard Curve of Group 1")

data3=data.frame(G1=2,S2)
Sd1=Surv(G2,S2)
library(frailtypack)
s23=frailtyPenal(Sd1~1,n.knots = 9,kappa = 1,data=data3)
##
## Be patient. The program is computing ...
## The program took 0.01 seconds
plot(s23, main="Frailty Hazard Curve of Group 2")
