coxph: Add uni and multivariate analysis

This commit is contained in:
Jens Sauer 2021-01-17 11:22:06 +01:00
parent a3c816ad64
commit b3ef8086ec

40
coxph.R
View File

@ -51,6 +51,46 @@ sma_coxph_univ <- function() {
univ_results <- lapply(univ_models, sma_cox_res)
res <- t(as.data.frame(univ_results, check.names = FALSE))
cat("\nUnivariate coxph with multiple covariates:\n")
cat("##########################################\n\n")
print(as.data.frame(res))
cat("\nUnivariat coxph with multiple covariates (HR over 1):\n")
cat("#####################################################\n\n")
# Convert from factor to double then filter
resgt <- as.data.frame(res)
resgt$HR <- as.double(as.character(resgt$HR))
resgt <- filter(resgt, HR > 1.0)
resgt$HR <- sprintf("%0.2f", resgt$HR)
print(resgt)
cat("\nUnivariat coxph with multiple covariates (HR lower or 1):\n")
cat("#########################################################\n\n")
# Convert from factor to double then filter
resle <- as.data.frame(res)
resle$HR <- as.double(as.character(resle$HR))
resle <- filter(resle, HR <= 1.0)
resle$HR <- sprintf("%0.2f", resle$HR)
print(resle)
cat("\nCoxph model assumptions (check for non-significance)\n")
cat("###################################################\n\n")
coxzph <- lapply(univ_models, cox.zph)
print(coxzph)
}
#
# Univariate Cox ph analysis with multiple covariates.
#
sma_coxph_univ_hr <- function() {
univ_formulas <- sapply(covariates, function(x) as.formula(
paste('Surv(time_at_risk, time_at_risk_status) ~ ',
x)))
univ_models <- lapply(univ_formulas,
function(x) {coxph(x, data = secmal)})
univ_results <- lapply(univ_models, sma_cox_res)
res <- t(as.data.frame(univ_results, check.names = FALSE))
print("Univariate coxph with multiple covariates:")
print(as.data.frame(res))
}