Para crear un R markdown (Rmd) lo primero que vamos a hacer es uprimir todas las alertas en el scrip con el siguiente codigo
options(warn=-1)
Vamos a instalar los siquientes paquetes, dentro del Rmd
install.packages("cmprsk")
install.packages("rpivotTable")
install.packages("mstate")
install.packages("gridExtra")
abrimos las librerias
library(survival)
library(cmprsk)
library(mstate)
y abrimos la base de datos de melanoma que estan basadas en el articulo melanoma la cual esta en stata (.dta)
library(haven)
melanoma <- read_dta("~/Documents/Maestria Epidemiologia/Bioestadistica IV/Competencia de Riesgos/malignantmelanoma.dta")
con el siguiente comando vemos la estructura que compone la base de datos, sus detalles, por ejemplo
str(melanoma)
## Classes 'tbl_df', 'tbl' and 'data.frame': 205 obs. of 5 variables:
## $ id : num 1 2 3 4 5 6 7 8 9 10 ...
## ..- attr(*, "format.stata")= chr "%8.0g"
## $ time : num 10 30 35 99 185 204 210 232 232 279 ...
## ..- attr(*, "format.stata")= chr "%8.0g"
## $ thick: num 3.84 -2.27 -1.58 -0.02 9.16 1.92 2.24 9.96 0.3 4.49 ...
## ..- attr(*, "label")= chr "Thickness of the tumor in mm minus the mean thickness"
## ..- attr(*, "format.stata")= chr "%10.0g"
## $ sex : 'haven_labelled' num 1 1 1 0 1 1 1 1 0 0 ...
## ..- attr(*, "format.stata")= chr "%8.0g"
## ..- attr(*, "labels")= Named num 0 1
## .. ..- attr(*, "names")= chr "F" "M"
## $ cause: 'haven_labelled' num 2 2 0 2 1 1 1 1 2 1 ...
## ..- attr(*, "format.stata")= chr "%18.0g"
## ..- attr(*, "labels")= Named num 0 1 2
## .. ..- attr(*, "names")= chr "Alive" "Malignant Melanoma" "Other Causes"
donde encontramos que la base de datos se compone de 5 variables, causa tiene 3 niveles y sexo 2, nos indica cada nivel como esta codificado
Los factores se componen de dos vectores osea 2D, y se crean de la siguiente manera.
Estos factores le vamos a dar el normbre que queramos y el nombre a cada nivel.
melanoma$causa <-factor(melanoma$cause, levels=c(0,1,2), labels=c("vivo", "Melanoma Maligno","otra causa" ))
melanoma$sexo <-factor(melanoma$sex, levels=c(0,1), labels=c("Famele", "Male"))
La siguiente tabla mostrara el numero de observaciones por cada combinacion de evento y enfermedad, al igual que se puede subdividir en estrato como el sexo.
attach(melanoma)
table(causa)
## causa
## vivo Melanoma Maligno otra causa
## 134 57 14
table(causa, sexo)
## sexo
## causa Famele Male
## vivo 91 43
## Melanoma Maligno 28 29
## otra causa 7 7
La opcion average, determina el promedio. ### la media de tiempo
tapply(time, causa, mean)
## vivo Melanoma Maligno otra causa
## 2620.672 1252.947 1338.286
tapply(time, list(causa, sexo), mean)
## Famele Male
## vivo 2641.011 2577.628
## Melanoma Maligno 1382.179 1128.172
## otra causa 1225.714 1450.857
o se puede crear la tabla con la siguiente libreria
library(rpivotTable)
rpivotTable(data=melanoma, rows="causa",cols = "sexo", vals = "time", aggregatorName = "Average",rendererName = "Table" )
round(tapply(time, list(causa, sexo), mean), digits = 2)
## Famele Male
## vivo 2641.01 2577.63
## Melanoma Maligno 1382.18 1128.17
## otra causa 1225.71 1450.86
en esta table podemos modificar cuales variables escoger,
EL modelo cox para riesgo sproporcionales noc ayudara a calclcular el HR sin tener en cuenta las muertes por otras causas.
en los siguientes comando vamos a crear los objetos por las variables de interes, en este caso son: sexo y grosor
Coxsex<- coxph(Surv(time, causa == "Melanoma Maligno") ~ sex, data = melanoma)
summary(Coxsex)
## Call:
## coxph(formula = Surv(time, causa == "Melanoma Maligno") ~ sex,
## data = melanoma)
##
## n= 205, number of events= 57
##
## coef exp(coef) se(coef) z Pr(>|z|)
## sex 0.6622 1.9390 0.2651 2.498 0.0125 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## exp(coef) exp(-coef) lower .95 upper .95
## sex 1.939 0.5157 1.153 3.26
##
## Concordance= 0.59 (se = 0.034 )
## Likelihood ratio test= 6.15 on 1 df, p=0.01
## Wald test = 6.24 on 1 df, p=0.01
## Score (logrank) test = 6.47 on 1 df, p=0.01
EL HR de sexo en el modelo de cox es de 1.94 con CI95%(1.153, 3.26), siendo significativo (pvalue= 0.01) para el modelo final (cox), y podemos intrerpretar que los hombres tienen 0.94 veces mas riesgo que las mujeres.
Coxthick <- coxph(Surv(time, causa == "Melanoma Maligno") ~ thick, data = melanoma)
summary(Coxthick)
## Call:
## coxph(formula = Surv(time, causa == "Melanoma Maligno") ~ thick,
## data = melanoma)
##
## n= 205, number of events= 57
##
## coef exp(coef) se(coef) z Pr(>|z|)
## thick 0.16024 1.17380 0.03126 5.126 2.96e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## exp(coef) exp(-coef) lower .95 upper .95
## thick 1.174 0.8519 1.104 1.248
##
## Concordance= 0.741 (se = 0.032 )
## Likelihood ratio test= 19.19 on 1 df, p=1e-05
## Wald test = 26.27 on 1 df, p=3e-07
## Score (logrank) test = 28.7 on 1 df, p=8e-08
EL HR del grosor en el modelo de cox es de 1.174 con CI95%(1.10, 1,25), siendo significativo (pvalue= 2.96e-07) para el modelo final (cox), y podemos intrerpretar que el grosor que esta dado en milimetros (mm) tienen 0.17 veces mas riesgo por cada unidad.
Si aguegamos al amodelo las dos variables se ve levemente alterado los valores, debemos ver si continuan siendo significativos.
Coxsexthick <- coxph(Surv(time, causa == "Melanoma Maligno") ~ sex + thick, data = melanoma)
summary(Coxsexthick)
## Call:
## coxph(formula = Surv(time, causa == "Melanoma Maligno") ~ sex +
## thick, data = melanoma)
##
## n= 205, number of events= 57
##
## coef exp(coef) se(coef) z Pr(>|z|)
## sex 0.57411 1.77556 0.26526 2.164 0.0304 *
## thick 0.15910 1.17245 0.03268 4.869 1.12e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## exp(coef) exp(-coef) lower .95 upper .95
## sex 1.776 0.5632 1.056 2.986
## thick 1.172 0.8529 1.100 1.250
##
## Concordance= 0.719 (se = 0.035 )
## Likelihood ratio test= 23.82 on 2 df, p=7e-06
## Wald test = 28.77 on 2 df, p=6e-07
## Score (logrank) test = 32.2 on 2 df, p=1e-07
ambos son significativos, podemos observar los Beta del modelo y sus respectivos HR con intervalos de confianza.
creamos el objeto Surv y lo ajustamos antes de graficarlo por sexo
library(KMsurv)
melanoma.km <- survfit(Surv(melanoma$time, melanoma$cause) ~ 1, data = melanoma)
head(melanoma.km)
## Call: survfit(formula = Surv(melanoma$time, melanoma$cause) ~ 1, data = melanoma)
##
## 134 observations deleted due to missingness
## n events median 0.95LCL 0.95UCL
## 71 14 3182 3154 NA
es de notar la advertencia del status donde nos avisa que tiene mas de 2 eventos, luego creamos la grafica
library(ggplot2)
library(survminer)
## Loading required package: ggpubr
## Loading required package: magrittr
ggsurvplot(fit = melanoma.km, data = melanoma, conf.int = T, title = "Curva de Supervivencia",
xlab = "Tiempo", ylab = "Probabilidad de supervivencia", legend.title = "Estimación",
legend.labs = "Kaplan-Meier")
tambien podemos graficar el log rank de KM por sexo
melanoma.sex <- survfit(Surv(melanoma$time, melanoma$cause) ~ sexo, data = melanoma, conf.type = "log-log")
ggsurvplot(melanoma.sex, fun = "event", censor = F, xlab = "Time (dias)")
comparado con la creada en stata
las siguienes son las librerias que vamos a usar
library(cmprsk)
library(survival)
library(mstate)
library(ggplot2)
pimero creamos la funcion de Incidencia acumulada por sexo, y luego con el Test corroboramos el valor P
cif <- cuminc(ftime = melanoma$time, fstatus= melanoma$causa, group = melanoma$sexo)
cifsex <- cuminc(ftime = melanoma$time, fstatus= melanoma$cause, group = melanoma$sex)
cifsex$Tests
## stat pv df
## 1 5.8140209 0.0158989 1
## 2 0.8543656 0.3553203 1
observamos el valor p de la diferencia de incidencias acumuladas por grupo de sexo,
CIF <- Cuminc(time = "time", status = "causa", data = melanoma)
head(CIF)
## time Surv CI.Melanoma Maligno CI.otra causa seSurv
## 1 10 0.9951220 0.000000000 0.004878049 0.004866137
## 2 30 0.9902439 0.000000000 0.009756098 0.006864869
## 3 99 0.9853417 0.000000000 0.014658295 0.008400806
## 4 185 0.9804395 0.004902198 0.014658295 0.009684268
## 5 204 0.9755373 0.009804395 0.014658295 0.010805597
## 6 210 0.9706351 0.014706593 0.014658295 0.011811062
## seCI.Melanoma Maligno seCI.otra causa
## 1 0.000000000 0.004866137
## 2 0.000000000 0.006864869
## 3 0.000000000 0.008400806
## 4 0.004890166 0.008400806
## 5 0.006898683 0.008400806
## 6 0.008428185 0.008400806
ggplot(CIF, aes(time)) +
geom_step(aes(y = `CI.Melanoma Maligno`, colour = "Muerte por melanoma"))+ geom_step(aes(y = `CI.Melanoma Maligno`+ `CI.otra causa`, colour = "Total")) + geom_step(aes(y = Surv, colour = "Overall survival")) + labs(x = "Tiempo (años)", y = "Proporcion", colour = "") + theme_classic()
para graficar las incidencias acumuladas debemos crear el siguiente factor
cif_sex <- Cuminc(time = "time", status = "causa", group = melanoma$sexo, data= melanoma )
head(cifsex)
## Tests:
## stat pv df
## 1 5.8140209 0.0158989 1
## 2 0.8543656 0.3553203 1
## Estimates and Variances:
## $est
## 1000 2000 3000 4000 5000
## 0 1 0.08730159 0.18077594 0.23565169 0.28424490 0.28424490
## 1 1 0.19237175 0.31009828 0.42453587 0.42453587 NA
## 0 2 0.03174603 0.03983516 0.05220642 0.08538385 0.08538385
## 1 2 0.03814124 0.06693942 0.06693942 0.13474271 NA
##
## $var
## 1000 2000 3000 4000 5000
## 0 1 0.0006378135 0.0012450462 0.0018102025 0.002755577 0.002755577
## 1 1 0.0020223293 0.0028196248 0.0042695603 0.004269560 NA
## 0 2 0.0002459647 0.0003073878 0.0004529114 0.001528480 0.001528480
## 1 2 0.0004727379 0.0008614343 0.0008614343 0.002950698 NA
library(gridExtra)
grid.arrange(
ggplot(cif_sex, aes(time)) +
geom_step(aes(y = `CI.Melanoma Maligno`, colour = group)) +
labs(x = "Time (dias)", y = "Proporcion", title = "Muerte por Melanoma") +
theme_classic(),
ggplot(cif_sex, aes(time)) +
geom_step(aes(y = `CI.otra causa`, colour = group)) +
labs(x = "Time (dias)", y = "Proporcion", title = "Muerte por otra causa") +
theme_classic(),
ncol = 2
)
cif$Tests
## stat pv df
## vivo 3.9808203 0.04602114 1
## Melanoma Maligno 5.6905837 0.01705618 1
## otra causa 0.8264053 0.36331405 1
Para crear unos graficos con mas detalles descargamos el siguiente paquete CumIncidence
source("~/Documents/Maestria Epidemiologia/Bioestadistica IV/Competencia de Riesgos/CumIncidence.R")
fit<-CumIncidence (melanoma$time, melanoma$sexo, melanoma$causa, cencode = 0, xlab = "dias")
##
## +-------------------------------------------------------------------+
## | Cumulative incidence function estimates from competing risks data |
## +-------------------------------------------------------------------+
## Test equality across groups:
## Statistic p-value df
## Famele 0.3539 0.8378091 2
## Male 15.5665 0.0004166 2
##
## Estimates at time points:
## 0 1000 2000 3000 4000 5000
## vivo Famele 0 0.000000 0.2313 0.4328 0.6119 0.6716
## Melanoma Maligno Famele 0 0.192982 0.3860 0.4561 NA NA
## otra causa Famele 0 0.285714 0.3571 0.4286 NA NA
## vivo Male 0 0.007463 0.1119 0.2015 0.2910 0.3209
## Melanoma Maligno Male 0 0.263158 0.4211 0.5088 NA NA
## otra causa Male 0 0.214286 0.3571 0.3571 NA NA
##
## Standard errors:
## 0 1000 2000 3000 4000 5000
## vivo Famele 0 0.000000 0.03659 0.04306 0.04255 0.04152
## Melanoma Maligno Famele 0 0.052928 0.06585 0.06799 NA NA
## otra causa Famele 0 0.127385 0.13640 0.14338 NA NA
## vivo Male 0 0.007463 0.02736 0.03485 0.03961 0.04094
## Melanoma Maligno Male 0 0.059005 0.06656 0.06877 NA NA
## otra causa Male 0 0.114884 0.13732 0.13732 NA NA
col<-c(2,3,4)
fit<-CumIncidence (melanoma$time, melanoma$sexo, melanoma$causa, cencode = 0, xlab = "dias", col= col)
##
## +-------------------------------------------------------------------+
## | Cumulative incidence function estimates from competing risks data |
## +-------------------------------------------------------------------+
## Test equality across groups:
## Statistic p-value df
## Famele 0.3539 0.8378091 2
## Male 15.5665 0.0004166 2
##
## Estimates at time points:
## 0 1000 2000 3000 4000 5000
## vivo Famele 0 0.000000 0.2313 0.4328 0.6119 0.6716
## Melanoma Maligno Famele 0 0.192982 0.3860 0.4561 NA NA
## otra causa Famele 0 0.285714 0.3571 0.4286 NA NA
## vivo Male 0 0.007463 0.1119 0.2015 0.2910 0.3209
## Melanoma Maligno Male 0 0.263158 0.4211 0.5088 NA NA
## otra causa Male 0 0.214286 0.3571 0.3571 NA NA
##
## Standard errors:
## 0 1000 2000 3000 4000 5000
## vivo Famele 0 0.000000 0.03659 0.04306 0.04255 0.04152
## Melanoma Maligno Famele 0 0.052928 0.06585 0.06799 NA NA
## otra causa Famele 0 0.127385 0.13640 0.14338 NA NA
## vivo Male 0 0.007463 0.02736 0.03485 0.03961 0.04094
## Melanoma Maligno Male 0 0.059005 0.06656 0.06877 NA NA
## otra causa Male 0 0.114884 0.13732 0.13732 NA NA
fit<-CumIncidence (melanoma$time, melanoma$sexo, melanoma$causa, cencode = 0, xlab = "dias", t=c(0, 3, 6, 9, 12, 24, 36, 48), col=col)
##
## +-------------------------------------------------------------------+
## | Cumulative incidence function estimates from competing risks data |
## +-------------------------------------------------------------------+
## Test equality across groups:
## Statistic p-value df
## Famele 0.3539 0.8378091 2
## Male 15.5665 0.0004166 2
##
## Estimates at time points:
## 0 3 6 9 12 24 36 48
## vivo Famele 0 0 0 0 0.00000 0.00000 0.000000 0.000000
## Melanoma Maligno Famele 0 0 0 0 0.00000 0.00000 0.000000 0.000000
## otra causa Famele 0 0 0 0 0.00000 0.00000 0.000000 0.000000
## vivo Male 0 0 0 0 0.00000 0.00000 0.007463 0.007463
## Melanoma Maligno Male 0 0 0 0 0.00000 0.00000 0.000000 0.000000
## otra causa Male 0 0 0 0 0.07143 0.07143 0.142857 0.142857
##
## Standard errors:
## 0 3 6 9 12 24 36 48
## vivo Famele 0 0 0 0 0.00000 0.00000 0.000000 0.000000
## Melanoma Maligno Famele 0 0 0 0 0.00000 0.00000 0.000000 0.000000
## otra causa Famele 0 0 0 0 0.00000 0.00000 0.000000 0.000000
## vivo Male 0 0 0 0 0.00000 0.00000 0.007463 0.007463
## Melanoma Maligno Male 0 0 0 0 0.00000 0.00000 0.000000 0.000000
## otra causa Male 0 0 0 0 0.07143 0.07143 0.097208 0.097208
# # The resulting output shows both estimates of cumulative incidence and s.e. # evaluated at the given time points.
# # The CumIncidence() function allows for the pointwise confidence intervals, # by simply adding a further argument, level, where we specify the desired # confidence level. For example, we may compute 95% pointwise confidence # interval at our selected time points as follows: #
Para agregar los intervalos de confianza
par(mfrow=c(2,3))
fit<-CumIncidence (melanoma$time, melanoma$sexo, melanoma$causa, cencode = 0, xlab = "dias", col= col,level = 0.95)
##
## +-------------------------------------------------------------------+
## | Cumulative incidence function estimates from competing risks data |
## +-------------------------------------------------------------------+
## Test equality across groups:
## Statistic p-value df
## Famele 0.3539 0.8378091 2
## Male 15.5665 0.0004166 2
##
## Estimates at time points:
## 0 1000 2000 3000 4000 5000
## vivo Famele 0 0.000000 0.2313 0.4328 0.6119 0.6716
## Melanoma Maligno Famele 0 0.192982 0.3860 0.4561 NA NA
## otra causa Famele 0 0.285714 0.3571 0.4286 NA NA
## vivo Male 0 0.007463 0.1119 0.2015 0.2910 0.3209
## Melanoma Maligno Male 0 0.263158 0.4211 0.5088 NA NA
## otra causa Male 0 0.214286 0.3571 0.3571 NA NA
##
## Standard errors:
## 0 1000 2000 3000 4000 5000
## vivo Famele 0 0.000000 0.03659 0.04306 0.04255 0.04152
## Melanoma Maligno Famele 0 0.052928 0.06585 0.06799 NA NA
## otra causa Famele 0 0.127385 0.13640 0.14338 NA NA
## vivo Male 0 0.007463 0.02736 0.03485 0.03961 0.04094
## Melanoma Maligno Male 0 0.059005 0.06656 0.06877 NA NA
## otra causa Male 0 0.114884 0.13732 0.13732 NA NA
##
## 95% pointwise confidence intervals:
##
## , , vivo Famele
##
## 0 1000 2000 3000 4000 5000
## lower NaN NaN 0.1638 0.3475 0.5230 0.5829
## upper NaN NaN 0.3059 0.5151 0.6893 0.7456
##
## , , Melanoma Maligno Famele
##
## 0 1000 2000 3000 4000 5000
## lower NaN 0.1022 0.2586 0.3202 NA NA
## upper NaN 0.3053 0.5117 0.5822 NA NA
##
## , , otra causa Famele
##
## 0 1000 2000 3000 4000 5000
## lower NaN 0.08074 0.1188 0.1593 NA NA
## upper NaN 0.53599 0.6079 0.6765 NA NA
##
## , , vivo Male
##
## 0 1000 2000 3000 4000 5000
## lower NaN 0.0006702 0.06553 0.1381 0.2161 0.2426
## upper NaN 0.0375319 0.17212 0.2735 0.3700 0.4016
##
## , , Melanoma Maligno Male
##
## 0 1000 2000 3000 4000 5000
## lower NaN 0.1564 0.2901 0.3678 NA NA
## upper NaN 0.3827 0.5463 0.6334 NA NA
##
## , , otra causa Male
##
## 0 1000 2000 3000 4000 5000
## lower NaN 0.04749 0.1176 0.1176 NA NA
## upper NaN 0.45898 0.6094 0.6094 NA NA
par(mfrow=c(1,1))
fit<-CumIncidence (melanoma$time, melanoma$sexo, melanoma$causa, cencode = 0, xlab = "dias", col= col,level = 0.95)
##
## +-------------------------------------------------------------------+
## | Cumulative incidence function estimates from competing risks data |
## +-------------------------------------------------------------------+
## Test equality across groups:
## Statistic p-value df
## Famele 0.3539 0.8378091 2
## Male 15.5665 0.0004166 2
##
## Estimates at time points:
## 0 1000 2000 3000 4000 5000
## vivo Famele 0 0.000000 0.2313 0.4328 0.6119 0.6716
## Melanoma Maligno Famele 0 0.192982 0.3860 0.4561 NA NA
## otra causa Famele 0 0.285714 0.3571 0.4286 NA NA
## vivo Male 0 0.007463 0.1119 0.2015 0.2910 0.3209
## Melanoma Maligno Male 0 0.263158 0.4211 0.5088 NA NA
## otra causa Male 0 0.214286 0.3571 0.3571 NA NA
##
## Standard errors:
## 0 1000 2000 3000 4000 5000
## vivo Famele 0 0.000000 0.03659 0.04306 0.04255 0.04152
## Melanoma Maligno Famele 0 0.052928 0.06585 0.06799 NA NA
## otra causa Famele 0 0.127385 0.13640 0.14338 NA NA
## vivo Male 0 0.007463 0.02736 0.03485 0.03961 0.04094
## Melanoma Maligno Male 0 0.059005 0.06656 0.06877 NA NA
## otra causa Male 0 0.114884 0.13732 0.13732 NA NA
##
## 95% pointwise confidence intervals:
##
## , , vivo Famele
##
## 0 1000 2000 3000 4000 5000
## lower NaN NaN 0.1638 0.3475 0.5230 0.5829
## upper NaN NaN 0.3059 0.5151 0.6893 0.7456
##
## , , Melanoma Maligno Famele
##
## 0 1000 2000 3000 4000 5000
## lower NaN 0.1022 0.2586 0.3202 NA NA
## upper NaN 0.3053 0.5117 0.5822 NA NA
##
## , , otra causa Famele
##
## 0 1000 2000 3000 4000 5000
## lower NaN 0.08074 0.1188 0.1593 NA NA
## upper NaN 0.53599 0.6079 0.6765 NA NA
##
## , , vivo Male
##
## 0 1000 2000 3000 4000 5000
## lower NaN 0.0006702 0.06553 0.1381 0.2161 0.2426
## upper NaN 0.0375319 0.17212 0.2735 0.3700 0.4016
##
## , , Melanoma Maligno Male
##
## 0 1000 2000 3000 4000 5000
## lower NaN 0.1564 0.2901 0.3678 NA NA
## upper NaN 0.3827 0.5463 0.6334 NA NA
##
## , , otra causa Male
##
## 0 1000 2000 3000 4000 5000
## lower NaN 0.04749 0.1176 0.1176 NA NA
## upper NaN 0.45898 0.6094 0.6094 NA NA
Evaluar efecto de las covariables curvas de incidencia acumulada y probar la diferencia entre ambos por la prueba de log-rank modificada (Gray)
es necesario instalar estos dos paquetes
install.packages("riskRegression")
install.packages("prodlim")
las siguientes librerias vamos a usar
library (riskRegression)
## Loading required package: data.table
## Loading required package: prodlim
## riskRegression version 2019.01.29
library(prodlim)
En modelo de riesgo proporcionales de FYG
ahora para riesgos de subdistribucion por sexo
covsex<-model.matrix(~sex,data=melanoma)[,-1]
crr.sex<-crr(melanoma$time,melanoma$cause,cov1=covsex)
summary(crr.sex)
## Competing Risks Regression
##
## Call:
## crr(ftime = melanoma$time, fstatus = melanoma$cause, cov1 = covsex)
##
## coef exp(coef) se(coef) z p-value
## covsex1 0.637 1.89 0.263 2.42 0.016
##
## exp(coef) exp(-coef) 2.5% 97.5%
## covsex1 1.89 0.529 1.13 3.17
##
## Num. cases = 205
## Pseudo Log-likelihood = -283
## Pseudo likelihood ratio test = 5.69 on 1 df,
Los Hazar ratio de subdistribucion Sex SHR: 1.89 con IC95% (1.13, 3.17) con un p-value significativo (0.016).
ahora para riesgos de subdistribucion por grosor
covthick<-model.matrix(~thick,data=melanoma)[,-1]
crr.thick<-crr(melanoma$time,melanoma$cause,cov1=covthick)
summary(crr.thick)
## Competing Risks Regression
##
## Call:
## crr(ftime = melanoma$time, fstatus = melanoma$cause, cov1 = covthick)
##
## coef exp(coef) se(coef) z p-value
## covthick1 0.149 1.16 0.028 5.32 1.1e-07
##
## exp(coef) exp(-coef) 2.5% 97.5%
## covthick1 1.16 0.862 1.1 1.23
##
## Num. cases = 205
## Pseudo Log-likelihood = -277
## Pseudo likelihood ratio test = 16.8 on 1 df,
Los Hazar ratio de subdistribucion Thick SHR: 1.16 con IC95% (1.1, 1.23) con un p-value significativo (1.1e-07)
cov<-model.matrix(~sex+thick,data=melanoma)[,-1]
crr.model<-crr(melanoma$time,melanoma$cause,cov1=cov)
summary(crr.model)
## Competing Risks Regression
##
## Call:
## crr(ftime = melanoma$time, fstatus = melanoma$cause, cov1 = cov)
##
## coef exp(coef) se(coef) z p-value
## sex 0.515 1.67 0.2702 1.90 5.7e-02
## thick 0.144 1.15 0.0288 4.99 6.2e-07
##
## exp(coef) exp(-coef) 2.5% 97.5%
## sex 1.67 0.598 0.985 2.84
## thick 1.15 0.866 1.091 1.22
##
## Num. cases = 205
## Pseudo Log-likelihood = -276
## Pseudo likelihood ratio test = 20.5 on 2 df,
Y el final de el modelo por riesgo proporcionales con las dos veriables podemos encontrar los beta respectivos para sexo y grosor, ambos con un valor de p significativos pero observamos que en el modelo juntos el intervalo de confianza de sexo pasa por el 1. por lo cual podemos considerar que para un modelo predictivo pierde sustento esta variable.
Es de anotar que de aqui para adelante se puede crear un modelo predictivo como en el articulo mensionado, sin emgargo no tenemos todas las variables que usaron.