Re: [R-es] Propensity Score Matching

2020-11-12 Por tema Alberto Carmona Bayonas
Básicamente propensity score matching es una técnica útil cuando tienes
muchas covariables que ajustar en una base de datos pequeña (por ejemplo,
si tu número de eventos es menor que el número de predictores por 5). En
ese caso lo que haces es colapsar toda la información de las covariables en
un score (un número de cero a cien). El propensity score te permite hacer
el ajuste de varias formas, a través del matching de sujetos con similar
propensity score, o incluso usando el propensity score transformado como
término de la ecuación. Si tienes suficientes pacientes y eventos, la
regresión multivariable, metiendo en la ecuación todos los predictores,
suele ser una solución más eficiente, porque te evitas varios problemas
asociados al PS y es más elegante.



El jue., 12 nov. 2020 a las 18:03, Cristian Rodelo-Haad (<
crisroh...@gmail.com>) escribió:

> Hola chic@s, alguien con experiencia en propensión score matching?
>
> Planteo duda: Clasicamente el PSM se ha utilizado en un intento de
> homogeneizar cohortes de enfermos quienes han estado “expuestos” a un
> tratamiento x Vs aquellos que no han estado expuestos (no expuestos). Esto
> aplica para medicamentos o procedimientos quirúrgicos o no.
>
> Bien, En algún articulo he leído que el PSM se puede utilizar como un
> elemento de clasificación y por tanto de homogeneización.
> Mi intención es aplicar el PSM a un análisis de supervivencia. En este
> sentido mi hipótesis es que una variable “x” tanto en su versión
> cuantitativa como categorizada a terciles,cuartiles o quintiles influye
> sobre la supervivencia de los sujetos. Esto entiendo que puedo resolverlo
> con un análisis de supervivencia y posteriormente con una regresión de Cox.
> Este método seria valido desde el punto de vista estadístico si bien desde
> el punto de vista biológico podría tener alguna duda de interpretación
> sobretodo por la inclusión en los modelos de variables colineales o con
> interacción.
> Por otro lado el PSM me permitiría balancear todas las variables desde el
> primer momento e incluirlos en el análisis de supervivencia con la premisa
> de que parten de valores iguales/cuasi-iguales.
>
> Aquí es donde tengo dudas: si decido aplicar el PSM
> Como debo realizar esta homogeneización?
>
> 1. Si tengo 2 estados por ejemplo vivo vs Muerto?—> Calculo el riesgo de
> propensión a partir de esta variable “estado” cuando realize el glm inicial
> ya que mi variable de exposición/tratamiento es estar vivo o Muerto?
> 2. Utilizar mi variable “x” categorizada como variable exposición y partir
> de esta calcular el score de propensión?
>
> Muchas gracias, espero haber sido claro.
>
> Saludos,
>
>
> Cristian Rodelo-Haad
> crisroh...@gmail.com
>
> ___________
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>


-- 
Alberto Carmona Bayonas
Servicio de Hematología y Oncología Médica
Hospital Universitario Morales Meseguer
Avda. Marqués de los Vélez, s/n. 30001-Murcia
Teléfono: 968-360900// 968-360969 (secretaría)
Fax: 968-360969
Murcia. Spain.

La información y los archivos adjuntos en esta transmisión puede contener
información confidencial o información privilegiada y es para uso exclusivo
del destinatario destinados / s /. Si usted no es el destinatario, se le
notifica que cualquier divulgación, copia, distribución, o dependencia de
los contenidos de esta transmisión está estrictamente prohibida. Por favor,
notifique al remitente y destruir este mensaje. E-mail comunicaciones no se
puede garantizar que sea seguro o libre de errores, ya que la información
puede ser interceptada, corrompido, modificado, perdido, destruido, llegar
tarde o incompleta, o contener virus. No aceptamos la responsabilidad por
cualquiera de esas cuestiones o de sus consecuencias. Se han tomado todas
las precauciones razonables para asegurarse de que cualquier archivo
adjunto a la dirección de e-mail ha sido escaneado en busca de virus. Sin
embargo, no podemos aceptar la responsabilidad por cualquier daño sufrido
como resultado de los virus de software y asesorará que el desempeño de su
propio virus escanea antes de abrir cualquier archivo adjunto.

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


Re: [R-es] transformación a formato largo en modelos multietapa

2020-08-08 Por tema Alberto Carmona Bayonas
Eso puede ser por errores en las fechas, por ejemplo que el estado
intermedio sea posterior a la muerte, etc.
Repasa todas las fechas.

El vie., 7 ago. 2020 23:09, José Miguel Torregrosa Díaz 
escribió:

> Hola,
>
> Estoy intentando realizar una estimación de riesgos de evento mediante un
> modelo de cox multietapa. El trabajo es un modelo básico de cancer: estado
> inicial --> evento intermedio --> evento final (normalmente la muerte).
>
> Para ello estoy usando el paquete mstate de Hein Putter. Así, he definido
> mi matriz de transición y mis covariables de interés, pero al intentar
> poner los datos en formato largo (una fila = un estado a riesgo de una
> transición, en lugar de una fila un paciente) usando el comando msprep, me
> escupe un error , a saber :
>
> Error in hlpsrt[, 1] - hlpsrt[, 2] :
>   argumento no-numérico para operador binario
>
> Mi código para esta parte es:
> formato_largo<-msprep(time = c(*NA*, "tiempo_evento_intermedio",
> "tiempo_evento_final"),
>   status = c(*NA*, "evento_intermedio", "evento_final"),
>   data = mydata,
>   trans = tmat,
>   keep = covs)
>
> Por más que modifico las variables no consigo salir del error. Si alguien
> tiene una sugerencia o me puede ayudar, estaré enormemente agradecido.
>
> Un saludo y gracias de antemano
>
> Jose
>
>
>
> --
> Jose Miguel Torregrosa Díaz
> Hématoloie Oncologique et Thérapie Cellulaire
> CHU de Poitiers, France
>
>
>
>
> * AVISO LEGAL *
> Este mensaje electrónico está dirigido exclusivamente a sus
> destinatarios, pudiendo contener documentos anexos de carácter privado
> y confidencial.
> Si por error, ha recibido este mensaje y no se encuentra entre los
> destinatarios, por favor, no use, informe, distribuya, imprima o copie
> su contenido por ningún medio. Le ruego lo comunique al remitente y
> borre completamente el mensaje y sus anexos.
>
> [[alternative HTML version deleted]]
>
> ___
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


[R-es] error estándar en un modelo AFT, a mano, en R

2019-07-07 Por tema Alberto Carmona Bayonas
Hola, me gustaría aprender a obtener el error estándar de una predicción de
supervivencia de un modelo AFT (pe., la probabilidad de supervivencia a un
año), por el método delta.
Esto se hace de forma trivial con la función survest del paquete rms, pero
a mí me gustaría saber reproducirlo a mano.
Sin embargo, cuando he tratado de calcular el método delta a mano obtengo
una cifra equivocada.
¿Alguien puede ayudarme?
Para tratar de reproducir la estimación, incluyo un código de ejemplo:

library(survival)
library(rms)
data(lung)
head(lung)

ddist <- datadist(lung) options(datadist='ddist') lung$SurvObj <-
with(lung, Surv(time, status == 2))
fit <- psm(SurvObj ~ rcs(age,3)+sex+ph.karno, dist="lognormal", x=T , y=T ,
data=lung)
newdata <- expand.grid(age=70, sex=1, ph.karno=60) #
sur<-survest(fit,newdata,times = 365)
sur # obtengo un SE de 0.16.

# tras ello intento reproducirlo a mano
xb<-surlinear.predictors
survival365<−1−pnorm((log(365)−xb)/fitscale)
pdf <- (dnorm((log(365)-xb)/fitscale))/(365∗fitscale)
x <- c(70,70,70,1,60) # son cinco términos por las splines
se <- pdf %% t(x)%%vcov(fit) %% x %% pdf %>% sqrt
se # obtengo 0.059, aproximadamente la mitad
¿Alguien sabe qué está mal?


--
Alberto Carmona Bayonas
Servicio de Hematología y Oncología Médica
Hospital Universitario Morales Meseguer
Avda. Marqués de los Vélez, s/n. 30001-Murcia
Teléfono: 968-360900// 968-360969 (secretaría)
Fax: 968-360969
Murcia. Spain.

La información y los archivos adjuntos en esta transmisión puede contener
información confidencial o información privilegiada y es para uso exclusivo
del destinatario destinados / s /. Si usted no es el destinatario, se le
notifica que cualquier divulgación, copia, distribución, o dependencia de
los contenidos de esta transmisión está estrictamente prohibida. Por favor,
notifique al remitente y destruir este mensaje. E-mail comunicaciones no se
puede garantizar que sea seguro o libre de errores, ya que la información
puede ser interceptada, corrompido, modificado, perdido, destruido, llegar
tarde o incompleta, o contener virus. No aceptamos la responsabilidad por
cualquiera de esas cuestiones o de sus consecuencias. Se han tomado todas
las precauciones razonables para asegurarse de que cualquier archivo
adjunto a la dirección de e-mail ha sido escaneado en busca de virus. Sin
embargo, no podemos aceptar la responsabilidad por cualquier daño sufrido
como resultado de los virus de software y asesorará que el desempeño de su
propio virus escanea antes de abrir cualquier archivo adjunto.

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


Re: [R-es] Texto en el eje de ordenadas de un gráfico

2018-10-10 Por tema Alberto Carmona Bayonas
Es lo mismo que te había dicho yo... jeje
De todas formas tú eres muy listo, e igual puedes reprogramar el código del
pequete...

El mié., 10 oct. 2018 a las 16:36, Fernando Sanchez via R-help-es (<
r-help-es@r-project.org>) escribió:

>  Hola a todos,
> Cierro este tema con la propia respuesta del autor del paquete, Dimitri
> Rizopoulos.
>
> Dear Fernando,
>
>
>
> Thanks for your e-mail and interestin my package. Regarding your question,
> unfortunately, it is not possible to dothat with the plot method. You will
> need to create the figure yourself byextracting the relevant components.
>
>
>
> Best,
>
> Dimitris
>
>
> saludos,
> Fernando
> En ‎martes‎, ‎9‎ de ‎octubre‎ de ‎2018‎ ‎23‎:‎19‎:‎15‎ ‎CEST, Fernando
> Sanchez via R-help-es  escribió:
>
>   Mando este mensaje de respuesta para dar las gracias tanto a Pedro como
> a Carlos por sus sugerencias. Ahora ya tengo los números que quiero en la
> gráfica, me falta por quitar los que no quiero. Teniendo en cuenta lo que
> dice Pedro, voy a preguntar al autor de la librería.
> saludos,
> Fernando
>
> En martes, 9 de octubre de 2018 13:23:51 CEST, Carlos Ortega <
> c...@qualityexcellence.es> escribió:
>
>  Hola,
> Vaya, como ahora casi todo el mundo usa ggplot, este tipo de preguntas
> ahora resulta complicadas de responder cuando uno habla de los gráficos
> tipo "base".Cuando quieres incluir marcas a la medida en cualquiera de los
> ejes, tienes que trabajar con la función "axis()". Con esta función
> definirás dónde quieres las marcas, que es como decir que te quiten las de
> por defecto porque solo aparecerán las que tú definas.
> Mira este ejemplo:
> https://stackoverflow.com/questions/11775692/how-to-specify-the-actual-x-axis-values-to-plot-as-x-axis-ticks-in-r
> Saludos,Carlos
> <https://stackoverflow.com/questions/11775692/how-to-specify-the-actual-x-axis-values-to-plot-as-x-axis-ticks-in-rSaludos,Carlos>
> Ortegawww.qualityexcellence.es
>
> El lun., 8 oct. 2018 a las 18:34, Fernando Sanchez via R-help-es (<
> r-help-es@r-project.org>) escribió:
>
> Hola a todos,
> Estoy usando la librería ltm, de teoría de respuesta al ítem, para crear
> gráficos. Resulta que añado unas líneas horizontales en los valores de
> 0.25, 0.50 y 0.75. Me gustaría que en el gráfico, desaparezcan las marcas
> de 0,.2, 0.4, 0.6 y 0.8 y aparezcan en 0.25, 0.50 y 0.75. He probado varias
> cosas que he visto por Googe pero no me han funcionado. ¿Alguna idea?
> library(ltm)
> # creo el modelo
> modelo <- ltm(LSAT ~ z1)
> # represento el modelo
> plot(modelo, legend = TRUE, cx = "bottomright", lwd = 3,cex.main = 1.5,
> cex.lab = 1.3, cex = 1.1,main="")
> # creamos las líneas horizontales
> abline(h=0.25, col="purple")
> abline(h=0.50, col="red")
> abline(h=0.75, col="green")
> saludos y muchas gracias,
> Fernando
> [[alternative HTML version deleted]]
>
> ___
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>
>
> --
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
> [[alternative HTML version deleted]]
>
> ___________
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
> [[alternative HTML version deleted]]
>
> ___
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>


-- 
Alberto Carmona Bayonas
Servicio de Hematología y Oncología Médica
Hospital Universitario Morales Meseguer
Avda. Marqués de los Vélez, s/n. 30001-Murcia
Teléfono: 968-360900// 968-360969 (secretaría)
Fax: 968-360969
Murcia. Spain.



La información y los archivos adjuntos en esta transmisión puede contener
información confidencial o información privilegiada y es para uso exclusivo
del destinatario destinados / s /. Si usted no es el destinatario, se le
notifica que cualquier divulgación, copia, distribución, o dependencia de
los contenidos de esta transmisión está estrictamente prohibida. Por favor,
notifique al remitente y destruir este mensaje. E-mail comunicaciones no se
puede garantizar que sea seguro o libre de errores, ya que la información
puede ser interceptada, corrompido, modificado, perdido, destruido, llegar
tarde o incompleta, o contener virus. No aceptamos la responsabilidad por
cualquiera de esas cuestiones o de sus consecuencias. Se han tomado todas
las precauciones razonables para asegurarse de que cualquier archivo
adjunto a la dirección de e-mail ha sido escaneado en busca de virus. Sin
embargo, no podemos aceptar la responsabilidad por cualquier daño sufrido
como resultado de los virus de software y asesorará que el desempeño de su
propio virus escanea antes de abrir cualquier archivo adjunto.

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


Re: [R-es] Texto en el eje de ordenadas de un gráfico

2018-10-08 Por tema Alberto Carmona Bayonas
pues que exportes a pdf y modifiques con libreoffice
no es muy fino pero no falla

El lun., 8 oct. 2018 a las 18:34, Fernando Sanchez via R-help-es (<
r-help-es@r-project.org>) escribió:

> Hola a todos,
> Estoy usando la librería ltm, de teoría de respuesta al ítem, para crear
> gráficos. Resulta que añado unas líneas horizontales en los valores de
> 0.25, 0.50 y 0.75. Me gustaría que en el gráfico, desaparezcan las marcas
> de 0,.2, 0.4, 0.6 y 0.8 y aparezcan en 0.25, 0.50 y 0.75. He probado varias
> cosas que he visto por Googe pero no me han funcionado. ¿Alguna idea?
> library(ltm)
> # creo el modelo
> modelo <- ltm(LSAT ~ z1)
> # represento el modelo
> plot(modelo, legend = TRUE, cx = "bottomright", lwd = 3,cex.main = 1.5,
> cex.lab = 1.3, cex = 1.1,main="")
> # creamos las líneas horizontales
> abline(h=0.25, col="purple")
> abline(h=0.50, col="red")
> abline(h=0.75, col="green")
> saludos y muchas gracias,
> Fernando
> [[alternative HTML version deleted]]
>
> _______
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>


-- 
Alberto Carmona Bayonas
Servicio de Hematología y Oncología Médica
Hospital Universitario Morales Meseguer
Avda. Marqués de los Vélez, s/n. 30001-Murcia
Teléfono: 968-360900// 968-360969 (secretaría)
Fax: 968-360969
Murcia. Spain.



La información y los archivos adjuntos en esta transmisión puede contener
información confidencial o información privilegiada y es para uso exclusivo
del destinatario destinados / s /. Si usted no es el destinatario, se le
notifica que cualquier divulgación, copia, distribución, o dependencia de
los contenidos de esta transmisión está estrictamente prohibida. Por favor,
notifique al remitente y destruir este mensaje. E-mail comunicaciones no se
puede garantizar que sea seguro o libre de errores, ya que la información
puede ser interceptada, corrompido, modificado, perdido, destruido, llegar
tarde o incompleta, o contener virus. No aceptamos la responsabilidad por
cualquiera de esas cuestiones o de sus consecuencias. Se han tomado todas
las precauciones razonables para asegurarse de que cualquier archivo
adjunto a la dirección de e-mail ha sido escaneado en busca de virus. Sin
embargo, no podemos aceptar la responsabilidad por cualquier daño sufrido
como resultado de los virus de software y asesorará que el desempeño de su
propio virus escanea antes de abrir cualquier archivo adjunto.

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


Re: [R-es] fractales

2017-11-03 Por tema Alberto Carmona Bayonas
Mira el conjunto de mandelbrot en r cómo mola

https://www.google.es/amp/s/www.r-bloggers.com/the-mandelbrot-set-in-r/amp/


El 3 nov. 2017 4:20 PM, "eric"  escribió:

> hola luis, podrias explicarte un poco mas ? que quieres decir con "obtener
> fractales de una imagen" ?
>
> Puedes construir una imagen con fractales, pero obtener (extraer o sacar
> quieres decir?) fractales de una imagen, no se me ocurre a que se puede
> referir, a menos que la imagen sea un fractal, en cuyo caso ya lo tienes
> ... :)
>
> Slds, eric.
>
>
>
>
> On 11/03/2017 12:05 PM, Luis E wrote:
>
>
> Hola
>
> Quisiera saber si podrían  informar como puedo hacer para obtener fractales 
> de una imagen con R. Hay algún paquete? o tutorial que me guíe?
>
> Desde ya muchas gracias.
>
> Atentamente, Luis
> ___
> R-help-es mailing 
> listR-help-es@r-project.orghttps://stat.ethz.ch/mailman/listinfo/r-help-es
>
> Nota: Las tildes se han omitido para asegurar compatibilidad con algunos 
> lectores de correo.
>
>
> ___
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


Re: [R-es] Filtrar datos con una excepción

2017-10-23 Por tema Alberto Carmona Bayonas
Hola, se filtra así:

datos2<-subset(datos, !(evolucionsi==0&evolucionno==0))

Con esto creas un subgrupo de datos que cumple esas condiciones. Si en
lugar de AND quieres usar OR entonces el símbolo lo cambias a |
El símbolo de admiración ! es una negación NOT; por tanto te quedas con los
datos tales que ni evolucionsi vale 0 ni evolucionno vale 0.

Saludos.

El 23 de octubre de 2017, 11:27, Freddy Omar López Quintero <
freddy.vat...@gmail.com> escribió:

> El lun, 23-10-2017 a las 03:54 +0200, miriam.alz...@unavarra.es
> escribió:
> > Gracias...sí pero creo que no me has entendido...El código tampoco es
> > el
> > que necesito. Necesito todas las observaciones de Datos, excepto
> > aquellas
> > para las que se cumpla conjuntamente que evollucionsi=0 y
> > evolucionno>0.
>
> Ok, ha quedado claro que yo no he entendido, pero esa misma lógica que
> mencionas (que debe ser muy fácil) es la que debes incluir en tu
> filtro, sea cual fuere ¿podrías intentarlo, tal vez?. Reemplaza los
> iguales, desiguales, mayores o menores en él y se acabó.
>
>
>
> --
> «...homines autem hominum causa esse generatos...»
>
> Cicero
> [[alternative HTML version deleted]]
>
> ___
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>



-- 
Alberto Carmona Bayonas
Servicio de Hematología y Oncología Médica
Hospital Universitario Morales Meseguer
Avda. Marqués de los Vélez, s/n. 30001-Murcia
Teléfono: 968-360900// 968-360969 (secretaría)
Fax: 968-360969
Murcia. Spain.



La información y los archivos adjuntos en esta transmisión puede contener
información confidencial o información privilegiada y es para uso exclusivo
del destinatario destinados / s /. Si usted no es el destinatario, se le
notifica que cualquier divulgación, copia, distribución, o dependencia de
los contenidos de esta transmisión está estrictamente prohibida. Por favor,
notifique al remitente y destruir este mensaje. E-mail comunicaciones no se
puede garantizar que sea seguro o libre de errores, ya que la información
puede ser interceptada, corrompido, modificado, perdido, destruido, llegar
tarde o incompleta, o contener virus. No aceptamos la responsabilidad por
cualquiera de esas cuestiones o de sus consecuencias. Se han tomado todas
las precauciones razonables para asegurarse de que cualquier archivo
adjunto a la dirección de e-mail ha sido escaneado en busca de virus. Sin
embargo, no podemos aceptar la responsabilidad por cualquier daño sufrido
como resultado de los virus de software y asesorará que el desempeño de su
propio virus escanea antes de abrir cualquier archivo adjunto.

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


Re: [R-es] Estudios de no inferioridad en R

2017-10-18 Por tema Alberto Carmona Bayonas
Siendo un tema de cirugía se tratará probablemente de un análisis de
supervivencia o de un resultado dicotómico. En tal caso, no se requiere un
paquete de R diferente, sino de la interpretación de los intervalos de
confianza de los tests habituales, por ejemplo survival para tiempo al
evento. Se trata de realizar un test de una cola teniendo en cuenta los
intervalos de confianza del parámetro analizado y el margen de no
inferioridad elegido, lo que constituye la mayor complicación de este tipo
de análisis.

El 18 de octubre de 2017, 17:06, Jesús Para Fernández <
j.para.fernan...@hotmail.com> escribió:

> Otra opción, si estas comparando solo 2 tratamientos es hacer un t.test,
> esta en el paquete base:
>
> ?t.test
> 
> De: R-help-es  en nombre de Freddy Omar
> López Quintero 
> Enviado: miércoles, 18 de octubre de 2017 16:41
> Para: José Martín Arévalo
> Cc: r-help-es@r-project.org
> Asunto: Re: [R-es] Estudios de no inferioridad en R
>
>
>
> > El 18-10-2017, a las 11:15, José Martín Arévalo 
> escribió:
> >
> > ver si tres tratamientos quirúrgicos son equivalentes en el tratamiento
> de una patología
>
> ¿Te refieres a un análisis de varianza?
>
> En este caso, la referencia inmediata es la función aov. Debes definir tu
> variable respuesta (numérica) y tus tratamientos en un factor (vector con
> categorías) en un data.frame y usar la sintaxis aproximada:
>
> aov(respuesta~tratamientos, data=datos)
>
> La ayuda de la función (?aov) te dará algunos ejemplos.
>
> Pero si no te estás refiriendo a un análisis de varianza, por favor
> háznoslo saber para ser más específicos. Una minúscula muestra de tus datos
> también sería prudente.
>
> ¡Salud!
> [[alternative HTML version deleted]]
>
> ___
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
> [[alternative HTML version deleted]]
>
>
> _______________
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>



-- 
Alberto Carmona Bayonas
Servicio de Hematología y Oncología Médica
Hospital Universitario Morales Meseguer
Murcia. Spain.



La información y los archivos adjuntos en esta transmisión puede contener
información confidencial o información privilegiada y es para uso exclusivo
del destinatario destinados / s /. Si usted no es el destinatario, se le
notifica que cualquier divulgación, copia, distribución, o dependencia de
los contenidos de esta transmisión está estrictamente prohibida. Por favor,
notifique al remitente y destruir este mensaje. E-mail comunicaciones no se
puede garantizar que sea seguro o libre de errores, ya que la información
puede ser interceptada, corrompido, modificado, perdido, destruido, llegar
tarde o incompleta, o contener virus. No aceptamos la responsabilidad por
cualquiera de esas cuestiones o de sus consecuencias. Se han tomado todas
las precauciones razonables para asegurarse de que cualquier archivo
adjunto a la dirección de e-mail ha sido escaneado en busca de virus. Sin
embargo, no podemos aceptar la responsabilidad por cualquier daño sufrido
como resultado de los virus de software y asesorará que el desempeño de su
propio virus escanea antes de abrir cualquier archivo adjunto.

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


[R-es] enigma con regresión de Fine & Gray y variable dependiente del tiempo

2017-10-08 Por tema Alberto Carmona Bayonas
Hola, necesito ayuda de la comunidad sobre una duda acerca de una regresión
de riesgos competitivos.
Mi idea era llevar a cabo una regresión de Fine y Gray multivariante usando
como predictores una variable fija X y otra dependiente del tiempo Y.
Para ello primero he hecho un modelo univariante usando sólo la variable
fija X. Aquí sin problema, obtengo el mismo resultado tanto con la función
crr del paquete cmprsk, como con la función finegray seguida de survival
del paquete survival.

Aquí podéis ver la pinta de los datos, donde ftime2 es el tiempo al evento,
cause es el evento (0=cens, 1 evento de interés, 2=competing) y days_pd son
los días hasta el predictor dependiente del tiempo Y (NA cuando no lo
tiene):


> head(epi2,40)
   id ftime2 days_pd X  cause
1   1   15.0  NA 1 2
2   3   24.0  NA 0 2
3   4 1094.0  NA 0 2
4   51.0  NA 1 2
5   65.0  NA 1 2
6   72.0  NA 1 2
7   8  110.0  NA 1 2
8  10  506.0  NA 1 0
9  129.0  NA 1 2
10 13  128.0  NA 1 2

> tail(epi2,40)
   id ftime2 days_pd X cause
1036  877562 525 1 2
1037  876614 538 0 2
1038  892592 539 1 0
1039  905613 539 0 1
1040   97713 572 0 2
1041  962784 572 0 1
1042  885574 574 1 0
1043 1018   1168 590 0 0
1044  959786 595 0 2
1045  948750 596 0 2



*Cuando evalúo el efecto de X el código es:*

> pdata <- finegray(Surv(ftime2, cause) ~ ., data=epi2,id=id)

> fgfit <- coxph(Surv(fgstart, fgstop, fgstatus) ~ X,
+weight=fgwt, data=pdata)
> fgfit
Call:
coxph(formula = Surv(fgstart, fgstop, fgstatus) ~ X, data = pdata,
weights = fgwt)

coef exp(coef) se(coef) z  p
X -0.614 0.5410.228 -2.69 0.0072

Likelihood ratio test=7.62  on 1 df, p=0.00577
n= 25625, number of events= 86


*Tras ello intento generar una base de datos en formato largo para la
variable dependiente del tiempo days_pd usando tmerge *

epitd<-subset (epi, select=c(id, ftime2, X, Y, days_pd, cause))
epitd1 <- tmerge(epitd, epitd, id=id, cause = event(ftime2, cause))
epitd2 <- tmerge(epitd1, epitd1, id=id, Y= tdc(days_pd, Y))
epitd2$Y[is.na(epitd2$Y)]=0

> tail(epitd2,40)
  idftime2 X days_pd  cause prog tstart tstopY
1430  985893 0 762 21762   893  1
1431  982869 1 789 0   1  0   789  0
1432  982869 1 789 2   1789   869  1
1433  987909 1 810 0   1  0   810  0
1434  987909 1 8102   1810   909  1
1435 1022   1224 0 831  0   1  0   831  0
1436 1022   1224 0 831  0   1831  1224  1
1437 1023   1225 1 852 0   1  0   852  0
1438 1023   1225 1 852 1   1852  1225  1

*Se observa que los casos se duplican, por ejemplo, el id=982 desarrolla la
variante dependiente del tiempo Y en el punto 789 y luego tiene el evento
competitivo=2 en el momento 869.*
*Tras ello aplico la regresión de FG para X, que es la variable fija, y el
resultado NO es consistente con el que se obtuvo con la base de datos en
formato corto (HR 0.541 antes y 0.597 ahora).*
*No sé si tiene que ver o no con el warning que aparece... *

*¿Alguien sabría explicarme qué tipo de sesgo he cometido?*


> pdata_1 <- finegray(Surv(tstart,tstop,event) ~ ., data=epitd2,
count="var", na.action= na.pass,id=id)

Warning message:
In any(sorty[-last, 3]) : coercing argument of type 'double' to logical
> fgfit4 <- coxph(Surv(fgstart, fgstop, fgstatus==1) ~ X+cluster(id),
+weight=fgwt, data=pdata_1)
> fgfit4
Call:
coxph(formula = Surv(fgstart, fgstop, fgstatus == 1) ~ X+
cluster(id), data = pdata_1, weights = fgwt)

coef exp(coef) se(coef) robust se z p
X -0.517 0.5970.228 0.227 -2.28 0.023

Likelihood ratio test=5.37  on 1 df, p=0.0205
n= 30290, number of events= 86

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es