# read data into the table ×<- read.table("C:/analysis_dataset.txt",header=T,sep="\t") | |
# assign variable names | |
ftime <- x$years | # follow-up time to censor, death, or NH |
fstatus <- x$fstatus | # status: 0=censor, 1=NH, 2=Death |
pat_age <- x$pat_age | # patient age |
pat_inc <- x$log_pat_income | # log patient income |
pat_health <- x$pat_health | # patient health |
gender <- x$pat_gender | # patient gender: female = 0 male = 1 |
freq <- x$freq_mb | # freq of M & B problems |
gds5 <- x$gds5 | # moderate dementia = 1, 0 otherwise |
gds6 <- x$gds6 | # severe dementia = 1, 0 otherwise |
age <- x$caregiver_age | # caregiver age |
c_hlth <- x$caregiver_health | # caregiver health |
sat <- x$satisfaction | # satisfaction with support |
react <- x$reaction | # reaction to M & B problems |
dep <- x$depression | # depression scale |
burden <- x$burden | # caregiver burden |
entry <- x$entry_year | # year of study entry |
tx <- x$group | # group: 0=usual, 1=intensive |
# assign labels 0='usual', 1='intensive' | |
tx_lab <- factor(tx,label=c('usual tmt','intensive')) | |
# assign labels 0='censor',1='NH',2='Death' | |
fstatf <- factor(fstatus,label=c('censor','NH','Death')) | |
# get the CIFs for each intervention group | |
x <- cuminc(ftime,fstatf,tx_lab,cencode='censor') | |
plot.cuminc(x,main="CIFs",xlab="Years",ylab="Probability",lty=1, lwd=2, color=1:6) | |
# multiple covariate analysis for proportional subdistribution hazards | |
y <- crr(ftime, fstatf, cov1=cbind(pat_age, pat_inc, pat_health, gender, freq, gds5, gds6, | |
+ age, c_hlth, sat, react, dep, burden, entry, tx_lab), failcode='NH', cencode='censor') | |
# produce the estimated cumulative incidence function for a male Alzheimer’s patient | |
# with moderate dementia (excellent health vs poor health) with caregiver receiving the | |
# intensive support. This patient is assumed to be average with respect to the other | |
# covariates and enters the study in year 4. | |
y.plot <- predict.crr(y,cov1=rbind(cbind(74, 3.6, 1, 1, 44, 1, 0, 71, 2, 4, 24, 10, 36, 4, + 1),cbind(74, 3.6, 4, 1, 44, 1, 0, 71, 2, 4, 24, 10, 36, 4, 1))) | |
plot(y.plot,ylim=c(0,1),xlab="Years",ylab="Probability") | |
# produce the estimated cumulative incidence function without covariate adjustment | |
z <- crr(ftime, fstatf, cov1=cbind(tx_lab), failcode='NH', cencode='censor') | |
z.plot <- predict.crr(z,cov1=c(0,1)) | |
plot(z.plot,ylim=c(0,1),xlab="Years",ylab="Probability") | |
SAS code for Cox Proportional Hazards Models | |
* This code conducts cause-specific hazards analysis in SAS; | |
* treatment effect only; | |
proc phreg data=new; | |
model years*fstatus(0,2) = group/ risklimits; | |
title 'cause specific hazards for NH placement - treatment effect only'; | |
run; quit; | |
proc phreg data=new; | |
model years*fstatus(0,1) = group/ risklimits; | |
title 'cause specific hazards for death - treatment effect only'; | |
run; quit; | |
* treatment effect with covariates; | |
proc phreg data=new; | |
model years*fstatus(0,2) = pat_age log_pat_income pat_health pat_gender freq_mb gds5 gds6 caregiver_age caregiver_health satisfaction reaction depression burden entry_year group / risklimits; | |
title 'cause specific hazards for NH placement '; | |
run; quit; | |
proc phreg data=new; | |
model years*fstatus(0,1) = pat_age log_pat_income pat_health pat_gender freq_mb gds5 gds6 caregiver_age caregiver_health satisfaction reaction depression burden entry_year group / risklimits; | |
title 'cause specific hazards for death '; | |
run; quit; |