Hola,
Sí, lo puedes hacer de esta forma...
#-----------------
set.seed(20)
DATOS <- data.frame (
ID = c (1:10)
, TIEMPO = sample(1:40, 10, replace=F)
, DEF = as.factor(sample(c(0,1), 10, replace=T))
)
library(ggplot2)
ggplot( data = DATOS ) +
geom_point( aes(x = TIEMPO, y = ID , shape = DEF, color = DEF), size = 5
) +
geom_segment( aes( x = 0, y = ID, xend = TIEMPO, yend = ID ) ) +
guides(colour = FALSE) +
labs(shape = 'LEGEND') +
scale_y_discrete() +
theme_minimal()
#-----------------
E incluso puedes reproducirlo usando fuentes parecidas a la de los comics
con el paquete "xkcd".
Saludos,
Carlos Ortega
www.qualityexcellence.es
El jue., 18 jul. 2019 a las 13:05, Griera-yandex (<griera en yandex.com>)
escribió:
> Hola Pedro:
>
> Gracias por la ayuda. No conocía esta manera más elegante de mostrar las
> curvas de Kaplan-Meier. Te la compro.
>
> En realidad quería mostrar un gráfico con la longitud de les tiempos de
> seguimiento y al final un símbolo para indicar el estado. Seria un gráfico
> similar a:
>
> https://miro.medium.com/max/700/1*yHhG4TVcAAi29Ln88t0_5Q.png
>
> Pero no encuentro la manera de hacerlo. Igual no se puede.
>
> Muchas gracias y saludos.
>
> On Thu, 18 Jul 2019 10:28:37 +0000
> PEDRO CONCEJERO CEREZO <pedro.concejerocerezo en telefonica.com>
wrote:
>
> > Hola, te vale esto? Es forma estandar de representar graficos
> supervivencia
> >
> > Basado en esto:
> >
> > https://rviews.rstudio.com/2017/09/25/survival-analysis-with-r/
> >
> > set.seed(20)
> >
> > DATOS <- data.frame (
> > ID = c (1:10)
> > , TIEMPO = sample(1:40, 10, replace=F)
> > , DEF = sample(0:1, 10, replace=T)
> > )
> >
> > DATOS
> >
> > library(survival)
> >
> > DATOS$DEF <- as.numeric(DATOS$DEF)
> > DATOS$TIEMPO <- as.numeric(DATOS$TIEMPO)
> >
> > s <- Surv(DATOS$TIEMPO, DATOS$DEF)
> > head(s)
> >
> > ## Kaplan-Meier estimator.
> > km <- survfit(s ~ 1,
> > data = DATOS,
> > conf.type = "log-log")
> >
> > ## Show object
> > km
> >
> > summary(km)
> >
> > plot(km)
> >
> > # Instala las librerías necesarias:
> > library(ranger)
> > library(ggplot2)
> > library(dplyr)
> > library(ggfortify)
> >
> > autoplot(km)
> >
> >
> > El 18/07/2019 a las 12:00, r-help-es-request en
r-project.org<mailto:
> r-help-es-request en r-project.org> escribió:
> >
> > Envíe los mensajes para la lista R-help-es a
> > r-help-es en r-project.org<mailto:r-help-es en
r-project.org>
> >
> > Para subscribirse o anular su subscripción a través de la WEB
> > https://stat.ethz.ch/mailman/listinfo/r-help-es
> >
> > O por correo electrónico, enviando un mensaje con el texto
"help" en
> > el asunto (subject) o en el cuerpo a:
> > r-help-es-request en r-project.org<mailto:
> r-help-es-request en r-project.org>
> >
> > Puede contactar con el responsable de la lista escribiendo a:
> > r-help-es-owner en r-project.org<mailto:
> r-help-es-owner en r-project.org>
> >
> > Si responde a algún contenido de este mensaje, por favor, edite la
> > linea del asunto (subject) para que el texto sea mas especifico que:
> > "Re: Contents of R-help-es digest...". Además, por favor,
incluya en
> > la respuesta sólo aquellas partes del mensaje a las que está
> > respondiendo.
> >
> >
> > Asuntos del día:
> >
> > 1. Gráfico tiempos de supervivencia (Griera-yandex)
> >
> > ----------------------------------------------------------------------
> >
> > Message: 1
> > Date: Thu, 18 Jul 2019 10:18:42 +0200
> > From: Griera-yandex <griera en yandex.com><mailto:griera en
yandex.com>
> > To: Lista R <r-help-es en r-project.org><mailto:r-help-es en
r-project.org>
> > Subject: [R-es] Gráfico tiempos de supervivencia
> > Message-ID: <20190718101842.280414d5 en debian-dde>
> > Content-Type: text/plain; charset="utf-8"
> >
> > Buenos días a todos:
> >
> > Alguien me puede ayudar a hacer (si se puede) con unos datos similares
a:
> >
> > set.seed(20)
> > DATOS <- data.frame (
> > ID = c (1:10)
> > , TIEMPO = sample(1:40, 10, replace=F)
> > , DEF = sample(0:1, 10, replace=T)
> > );DATOS
> >
> > un gráfico que muestre los tiempos de supervivencia similar a:
> > https://miro.medium.com/max/700/1*yHhG4TVcAAi29Ln88t0_5Q.png
> >
> > Lo he intentado con la función followup.plot del paquete
> > "epiDisplay" (
> https://cran.r-project.org/web/packages/epiDisplay/index.html),
> > pero no encuentro la forma.
> >
> > Muchas gracias y saludos.
> >
> >
> >
> >
> > ------------------------------
> >
> > Subject: Pié de página del digest
> >
> > _______________________________________________
> > R-help-es mailing list
> > R-help-es en r-project.org<mailto:R-help-es en r-project.org>
> > https://stat.ethz.ch/mailman/listinfo/r-help-es
> >
> >
> > ------------------------------
> >
> > Fin de Resumen de R-help-es, Vol 125, Envío 7
> > *********************************************
> >
> >
> > --
> > Pedro Concejero
> > Telefónica CDO - 4th Platform - Internal Use Cases
> > E-mail: pedro.concejerocerezo en telefonica.com<mailto:
> pedro.concejerocerezo en telefonica.com>
> > skype: pedro.concejero
> > twitter @ConcejeroPedro<https://twitter.com/ConcejeroPedro>
> > linkedin
pedroconcejero<http://www.linkedin.com/in/pedroconcejero/es>
> > eRReRo feliz, me puedes encontrar en gRupo R madRid <
>
http://madrid.r-es.org/?s=concejero&searchsubmit.x=21&searchsubmit.y=13>
> >
> > ________________________________
> >
> > Este mensaje y sus adjuntos se dirigen exclusivamente a su
destinatario,
> puede contener información privilegiada o confidencial y es para uso
> exclusivo de la persona o entidad de destino. Si no es usted. el
> destinatario indicado, queda notificado de que la lectura, utilización,
> divulgación y/o copia sin autorización puede estar prohibida en virtud de
> la legislación vigente. Si ha recibido este mensaje por error, le rogamos
> que nos lo comunique inmediatamente por esta misma vía y proceda a su
> destrucción.
> >
> > The information contained in this transmission is privileged and
> confidential information intended only for the use of the individual or
> entity named above. If the reader of this message is not the intended
> recipient, you are hereby notified that any dissemination, distribution or
> copying of this communication is strictly prohibited. If you have received
> this transmission in error, do not read it. Please immediately reply to the
> sender that you have received this communication in error and then delete
> it.
> >
> > Esta mensagem e seus anexos se dirigem exclusivamente ao seu
> destinatário, pode conter informação privilegiada ou confidencial e é para
> uso exclusivo da pessoa ou entidade de destino. Se não é vossa senhoria o
> destinatário indicado, fica notificado de que a leitura, utilização,
> divulgação e/ou cópia sem autorização pode estar proibida em virtude da
> legislação vigente. Se recebeu esta mensagem por erro, rogamos-lhe que nos
> o comunique imediatamente por esta mesma via e proceda a sua destruição
> >
> > [[alternative HTML version deleted]]
> >
> > _______________________________________________
> > R-help-es mailing list
> > R-help-es en r-project.org
> > https://stat.ethz.ch/mailman/listinfo/r-help-es
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
--
Saludos,
Carlos Ortega
www.qualityexcellence.es
[[alternative HTML version deleted]]
Hola Carlos: Como siempre, perfecta esta solución! Es lo que necesitaba. Muchas gracias por esta ayuda y por el tiempo dedicado. Saludos On Thu, 18 Jul 2019 14:21:24 +0200 Carlos Ortega <cof en qualityexcellence.es> wrote:> Hola, > > Sí, lo puedes hacer de esta forma... > > #----------------- > set.seed(20) > DATOS <- data.frame ( > ID = c (1:10) > , TIEMPO = sample(1:40, 10, replace=F) > , DEF = as.factor(sample(c(0,1), 10, replace=T)) > ) > > library(ggplot2) > > ggplot( data = DATOS ) + > geom_point( aes(x = TIEMPO, y = ID , shape = DEF, color = DEF), size = 5 > ) + > geom_segment( aes( x = 0, y = ID, xend = TIEMPO, yend = ID ) ) + > guides(colour = FALSE) + > labs(shape = 'LEGEND') + > scale_y_discrete() + > theme_minimal() > #----------------- > > E incluso puedes reproducirlo usando fuentes parecidas a la de los comics > con el paquete "xkcd". > > Saludos, > Carlos Ortega > www.qualityexcellence.es > > > > El jue., 18 jul. 2019 a las 13:05, Griera-yandex (<griera en yandex.com>) > escribió: > > > Hola Pedro: > > > > Gracias por la ayuda. No conocía esta manera más elegante de mostrar las > > curvas de Kaplan-Meier. Te la compro. > > > > En realidad quería mostrar un gráfico con la longitud de les tiempos de > > seguimiento y al final un símbolo para indicar el estado. Seria un gráfico > > similar a: > > > > https://miro.medium.com/max/700/1*yHhG4TVcAAi29Ln88t0_5Q.png > > > > Pero no encuentro la manera de hacerlo. Igual no se puede. > > > > Muchas gracias y saludos. > > > > On Thu, 18 Jul 2019 10:28:37 +0000 > > PEDRO CONCEJERO CEREZO <pedro.concejerocerezo en telefonica.com> wrote: > > > > > Hola, te vale esto? Es forma estandar de representar graficos > > supervivencia > > > > > > Basado en esto: > > > > > > https://rviews.rstudio.com/2017/09/25/survival-analysis-with-r/ > > > > > > set.seed(20) > > > > > > DATOS <- data.frame ( > > > ID = c (1:10) > > > , TIEMPO = sample(1:40, 10, replace=F) > > > , DEF = sample(0:1, 10, replace=T) > > > ) > > > > > > DATOS > > > > > > library(survival) > > > > > > DATOS$DEF <- as.numeric(DATOS$DEF) > > > DATOS$TIEMPO <- as.numeric(DATOS$TIEMPO) > > > > > > s <- Surv(DATOS$TIEMPO, DATOS$DEF) > > > head(s) > > > > > > ## Kaplan-Meier estimator. > > > km <- survfit(s ~ 1, > > > data = DATOS, > > > conf.type = "log-log") > > > > > > ## Show object > > > km > > > > > > summary(km) > > > > > > plot(km) > > > > > > # Instala las librerías necesarias: > > > library(ranger) > > > library(ggplot2) > > > library(dplyr) > > > library(ggfortify) > > > > > > autoplot(km) > > > > > > > > > El 18/07/2019 a las 12:00, r-help-es-request en r-project.org<mailto: > > r-help-es-request en r-project.org> escribió: > > > > > > Envíe los mensajes para la lista R-help-es a > > > r-help-es en r-project.org<mailto:r-help-es en r-project.org> > > > > > > Para subscribirse o anular su subscripción a través de la WEB > > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > > > O por correo electrónico, enviando un mensaje con el texto "help" en > > > el asunto (subject) o en el cuerpo a: > > > r-help-es-request en r-project.org<mailto: > > r-help-es-request en r-project.org> > > > > > > Puede contactar con el responsable de la lista escribiendo a: > > > r-help-es-owner en r-project.org<mailto: > > r-help-es-owner en r-project.org> > > > > > > Si responde a algún contenido de este mensaje, por favor, edite la > > > linea del asunto (subject) para que el texto sea mas especifico que: > > > "Re: Contents of R-help-es digest...". Además, por favor, incluya en > > > la respuesta sólo aquellas partes del mensaje a las que está > > > respondiendo. > > > > > > > > > Asuntos del día: > > > > > > 1. Gráfico tiempos de supervivencia (Griera-yandex) > > > > > > ---------------------------------------------------------------------- > > > > > > Message: 1 > > > Date: Thu, 18 Jul 2019 10:18:42 +0200 > > > From: Griera-yandex <griera en yandex.com><mailto:griera en yandex.com> > > > To: Lista R <r-help-es en r-project.org><mailto:r-help-es en r-project.org> > > > Subject: [R-es] Gráfico tiempos de supervivencia > > > Message-ID: <20190718101842.280414d5 en debian-dde> > > > Content-Type: text/plain; charset="utf-8" > > > > > > Buenos días a todos: > > > > > > Alguien me puede ayudar a hacer (si se puede) con unos datos similares a: > > > > > > set.seed(20) > > > DATOS <- data.frame ( > > > ID = c (1:10) > > > , TIEMPO = sample(1:40, 10, replace=F) > > > , DEF = sample(0:1, 10, replace=T) > > > );DATOS > > > > > > un gráfico que muestre los tiempos de supervivencia similar a: > > > https://miro.medium.com/max/700/1*yHhG4TVcAAi29Ln88t0_5Q.png > > > > > > Lo he intentado con la función followup.plot del paquete > > > "epiDisplay" ( > > https://cran.r-project.org/web/packages/epiDisplay/index.html), > > > pero no encuentro la forma. > > > > > > Muchas gracias y saludos. > > > > > > > > > > > > > > > ------------------------------ > > > > > > Subject: Pié de página del digest > > > > > > _______________________________________________ > > > R-help-es mailing list > > > R-help-es en r-project.org<mailto:R-help-es en r-project.org> > > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > > > > > > ------------------------------ > > > > > > Fin de Resumen de R-help-es, Vol 125, Envío 7 > > > ********************************************* > > > > > > > > > -- > > > Pedro Concejero > > > Telefónica CDO - 4th Platform - Internal Use Cases > > > E-mail: pedro.concejerocerezo en telefonica.com<mailto: > > pedro.concejerocerezo en telefonica.com> > > > skype: pedro.concejero > > > twitter @ConcejeroPedro<https://twitter.com/ConcejeroPedro> > > > linkedin pedroconcejero<http://www.linkedin.com/in/pedroconcejero/es> > > > eRReRo feliz, me puedes encontrar en gRupo R madRid < > > http://madrid.r-es.org/?s=concejero&searchsubmit.x=21&searchsubmit.y=13> > > > > > > ________________________________ > > > > > > Este mensaje y sus adjuntos se dirigen exclusivamente a su destinatario, > > puede contener información privilegiada o confidencial y es para uso > > exclusivo de la persona o entidad de destino. Si no es usted. el > > destinatario indicado, queda notificado de que la lectura, utilización, > > divulgación y/o copia sin autorización puede estar prohibida en virtud de > > la legislación vigente. Si ha recibido este mensaje por error, le rogamos > > que nos lo comunique inmediatamente por esta misma vía y proceda a su > > destrucción. > > > > > > The information contained in this transmission is privileged and > > confidential information intended only for the use of the individual or > > entity named above. If the reader of this message is not the intended > > recipient, you are hereby notified that any dissemination, distribution or > > copying of this communication is strictly prohibited. If you have received > > this transmission in error, do not read it. Please immediately reply to the > > sender that you have received this communication in error and then delete > > it. > > > > > > Esta mensagem e seus anexos se dirigem exclusivamente ao seu > > destinatário, pode conter informação privilegiada ou confidencial e é para > > uso exclusivo da pessoa ou entidade de destino. Se não é vossa senhoria o > > destinatário indicado, fica notificado de que a leitura, utilização, > > divulgação e/ou cópia sem autorização pode estar proibida em virtude da > > legislação vigente. Se recebeu esta mensagem por erro, rogamos-lhe que nos > > o comunique imediatamente por esta mesma via e proceda a sua destruição > > > > > > [[alternative HTML version deleted]] > > > > > > _______________________________________________ > > > R-help-es mailing list > > > R-help-es en r-project.org > > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > _______________________________________________ > > R-help-es mailing list > > R-help-es en r-project.org > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > > -- > Saludos, > Carlos Ortega > www.qualityexcellence.es
Hola:
Por si a alguien le interesa para un curso, aquí coloco la versión
definitiva de los dos gráficos que quería hacer (uno en escala del tiempo del
calendario y la otra el tiempo de seguimiento) realizados gracias a la ayuda
de Carlos Ortega.
Muchas gracias y saludos.
# Código ----------------------------------------------------
set.seed(20)
# TIEMPO_2 = sample(1:40, 10, replace=F)
XTIEMPO_2 = c(38, 2, 34, 29, 30, 3, 14, 8, 18, 31) # Per fe el gràfic amb t=0
set.seed(30)
XTIEMPO_0 = sample(1:40, 10, replace=F)
XTIEMPO_F = XTIEMPO_0 + XTIEMPO_2
set.seed(20)
# XDEF = as.factor(sample(c(0,1), 10, replace=T))
XDEF = as.factor(sample(c("Mort", "Viu"), 10, replace=T))
DATOS <- data.frame (
ID = c (1:10)
, TIEMPO_0 = XTIEMPO_0
, TIEMPO_F = XTIEMPO_F
, TIEMPO_2 = XTIEMPO_2 # Per fe el gràfic amb t=0
, DEF = XDEF
)
library(ggplot2)
## Gràfic amb temps calendari
ggplot( data = DATOS ) +
geom_point( aes(x = TIEMPO_F, y = ID , shape = DEF), size = 5 ) +
geom_segment( aes( x = TIEMPO_0, y = ID, xend = TIEMPO_F, yend = ID ) ) +
scale_shape_manual (values = c(4, 16)) +
xlim (0, 70) +
xlab ("Data (temps del calendari)") +
ylab ("Persones") +
guides(colour = FALSE) +
labs(shape = ' ', values = c(4, 16)) +
scale_y_discrete() +
theme_classic() +
theme(axis.text.x = element_blank(), axis.ticks.x = element_blank())
## Modificat
str (DATOS)
ggplot( data = DATOS ) +
geom_point( aes(x = TIEMPO_2, y = ID , shape = DEF), size = 5 ) +
scale_shape_manual (values = c(4, 16)) +
geom_segment( aes( x = 0, y = ID, xend = TIEMPO_2, yend = ID ) ) +
xlim (0, 70) +
xlab ("Temps de seguiment") +
ylab ("Persones") +
guides(colour = FALSE) +
labs(shape = ' ', values = c(4, 16)) +
scale_y_discrete() +
theme_classic()
# Código ----------------------------------------------------
On Thu, 18 Jul 2019 14:21:24 +0200
Carlos Ortega <cof en qualityexcellence.es> wrote:
> Hola,
>
> Sí, lo puedes hacer de esta forma...
>
> #-----------------
> set.seed(20)
> DATOS <- data.frame (
> ID = c (1:10)
> , TIEMPO = sample(1:40, 10, replace=F)
> , DEF = as.factor(sample(c(0,1), 10, replace=T))
> )
>
> library(ggplot2)
>
> ggplot( data = DATOS ) +
> geom_point( aes(x = TIEMPO, y = ID , shape = DEF, color = DEF), size = 5
> ) +
> geom_segment( aes( x = 0, y = ID, xend = TIEMPO, yend = ID ) ) +
> guides(colour = FALSE) +
> labs(shape = 'LEGEND') +
> scale_y_discrete() +
> theme_minimal()
> #-----------------
>
> E incluso puedes reproducirlo usando fuentes parecidas a la de los comics
> con el paquete "xkcd".
>
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
>
>
>
> El jue., 18 jul. 2019 a las 13:05, Griera-yandex (<griera en
yandex.com>)
> escribió:
>
> > Hola Pedro:
> >
> > Gracias por la ayuda. No conocía esta manera más elegante de mostrar
las
> > curvas de Kaplan-Meier. Te la compro.
> >
> > En realidad quería mostrar un gráfico con la longitud de les tiempos
de
> > seguimiento y al final un símbolo para indicar el estado. Seria un
gráfico
> > similar a:
> >
> > https://miro.medium.com/max/700/1*yHhG4TVcAAi29Ln88t0_5Q.png
> >
> > Pero no encuentro la manera de hacerlo. Igual no se puede.
> >
> > Muchas gracias y saludos.
> >
> > On Thu, 18 Jul 2019 10:28:37 +0000
> > PEDRO CONCEJERO CEREZO <pedro.concejerocerezo en telefonica.com>
wrote:
> >
> > > Hola, te vale esto? Es forma estandar de representar graficos
> > supervivencia
> > >
> > > Basado en esto:
> > >
> > > https://rviews.rstudio.com/2017/09/25/survival-analysis-with-r/
> > >
> > > set.seed(20)
> > >
> > > DATOS <- data.frame (
> > > ID = c (1:10)
> > > , TIEMPO = sample(1:40, 10, replace=F)
> > > , DEF = sample(0:1, 10, replace=T)
> > > )
> > >
> > > DATOS
> > >
> > > library(survival)
> > >
> > > DATOS$DEF <- as.numeric(DATOS$DEF)
> > > DATOS$TIEMPO <- as.numeric(DATOS$TIEMPO)
> > >
> > > s <- Surv(DATOS$TIEMPO, DATOS$DEF)
> > > head(s)
> > >
> > > ## Kaplan-Meier estimator.
> > > km <- survfit(s ~ 1,
> > > data = DATOS,
> > > conf.type = "log-log")
> > >
> > > ## Show object
> > > km
> > >
> > > summary(km)
> > >
> > > plot(km)
> > >
> > > # Instala las librerías necesarias:
> > > library(ranger)
> > > library(ggplot2)
> > > library(dplyr)
> > > library(ggfortify)
> > >
> > > autoplot(km)
> > >
> > >
> > > El 18/07/2019 a las 12:00, r-help-es-request en
r-project.org<mailto:
> > r-help-es-request en r-project.org> escribió:
> > >
> > > Envíe los mensajes para la lista R-help-es a
> > > r-help-es en r-project.org<mailto:r-help-es en
r-project.org>
> > >
> > > Para subscribirse o anular su subscripción a través de la WEB
> > > https://stat.ethz.ch/mailman/listinfo/r-help-es
> > >
> > > O por correo electrónico, enviando un mensaje con el texto
"help" en
> > > el asunto (subject) o en el cuerpo a:
> > > r-help-es-request en r-project.org<mailto:
> > r-help-es-request en r-project.org>
> > >
> > > Puede contactar con el responsable de la lista escribiendo a:
> > > r-help-es-owner en r-project.org<mailto:
> > r-help-es-owner en r-project.org>
> > >
> > > Si responde a algún contenido de este mensaje, por favor, edite
la
> > > linea del asunto (subject) para que el texto sea mas especifico
que:
> > > "Re: Contents of R-help-es digest...". Además, por
favor, incluya en
> > > la respuesta sólo aquellas partes del mensaje a las que está
> > > respondiendo.
> > >
> > >
> > > Asuntos del día:
> > >
> > > 1. Gráfico tiempos de supervivencia (Griera-yandex)
> > >
> > >
----------------------------------------------------------------------
> > >
> > > Message: 1
> > > Date: Thu, 18 Jul 2019 10:18:42 +0200
> > > From: Griera-yandex <griera en yandex.com><mailto:griera
en yandex.com>
> > > To: Lista R <r-help-es en
r-project.org><mailto:r-help-es en r-project.org>
> > > Subject: [R-es] Gráfico tiempos de supervivencia
> > > Message-ID: <20190718101842.280414d5 en debian-dde>
> > > Content-Type: text/plain; charset="utf-8"
> > >
> > > Buenos días a todos:
> > >
> > > Alguien me puede ayudar a hacer (si se puede) con unos datos
similares a:
> > >
> > > set.seed(20)
> > > DATOS <- data.frame (
> > > ID = c (1:10)
> > > , TIEMPO = sample(1:40, 10, replace=F)
> > > , DEF = sample(0:1, 10, replace=T)
> > > );DATOS
> > >
> > > un gráfico que muestre los tiempos de supervivencia similar a:
> > > https://miro.medium.com/max/700/1*yHhG4TVcAAi29Ln88t0_5Q.png
> > >
> > > Lo he intentado con la función followup.plot del paquete
> > > "epiDisplay" (
> > https://cran.r-project.org/web/packages/epiDisplay/index.html),
> > > pero no encuentro la forma.
> > >
> > > Muchas gracias y saludos.
> > >
> > >
> > >
> > >
> > > ------------------------------
> > >
> > > Subject: Pié de página del digest
> > >
> > > _______________________________________________
> > > R-help-es mailing list
> > > R-help-es en r-project.org<mailto:R-help-es en
r-project.org>
> > > https://stat.ethz.ch/mailman/listinfo/r-help-es
> > >
> > >
> > > ------------------------------
> > >
> > > Fin de Resumen de R-help-es, Vol 125, Envío 7
> > > *********************************************
> > >
> > >
> > > --
> > > Pedro Concejero
> > > Telefónica CDO - 4th Platform - Internal Use Cases
> > > E-mail: pedro.concejerocerezo en telefonica.com<mailto:
> > pedro.concejerocerezo en telefonica.com>
> > > skype: pedro.concejero
> > > twitter @ConcejeroPedro<https://twitter.com/ConcejeroPedro>
> > > linkedin
pedroconcejero<http://www.linkedin.com/in/pedroconcejero/es>
> > > eRReRo feliz, me puedes encontrar en gRupo R madRid <
> >
http://madrid.r-es.org/?s=concejero&searchsubmit.x=21&searchsubmit.y=13>
> > >
> > > ________________________________
> > >
> > > Este mensaje y sus adjuntos se dirigen exclusivamente a su
destinatario,
> > puede contener información privilegiada o confidencial y es para uso
> > exclusivo de la persona o entidad de destino. Si no es usted. el
> > destinatario indicado, queda notificado de que la lectura,
utilización,
> > divulgación y/o copia sin autorización puede estar prohibida en virtud
de
> > la legislación vigente. Si ha recibido este mensaje por error, le
rogamos
> > que nos lo comunique inmediatamente por esta misma vía y proceda a su
> > destrucción.
> > >
> > > The information contained in this transmission is privileged and
> > confidential information intended only for the use of the individual
or
> > entity named above. If the reader of this message is not the intended
> > recipient, you are hereby notified that any dissemination,
distribution or
> > copying of this communication is strictly prohibited. If you have
received
> > this transmission in error, do not read it. Please immediately reply
to the
> > sender that you have received this communication in error and then
delete
> > it.
> > >
> > > Esta mensagem e seus anexos se dirigem exclusivamente ao seu
> > destinatário, pode conter informação privilegiada ou confidencial e é
para
> > uso exclusivo da pessoa ou entidade de destino. Se não é vossa
senhoria o
> > destinatário indicado, fica notificado de que a leitura, utilização,
> > divulgação e/ou cópia sem autorização pode estar proibida em virtude
da
> > legislação vigente. Se recebeu esta mensagem por erro, rogamos-lhe que
nos
> > o comunique imediatamente por esta mesma via e proceda a sua
destruição
> > >
> > > [[alternative HTML version deleted]]
> > >
> > > _______________________________________________
> > > R-help-es mailing list
> > > R-help-es en r-project.org
> > > https://stat.ethz.ch/mailman/listinfo/r-help-es
> >
> > _______________________________________________
> > R-help-es mailing list
> > R-help-es en r-project.org
> > https://stat.ethz.ch/mailman/listinfo/r-help-es
> >
>
>
> --
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
Hola Francisco: Muchas gracias por este refinamiento. Tienes razón, el gráfico de Lexis representa mucho mejor los datos. Y gracias por el código. Lo guardo también para el futuro. Saludos On Tue, 6 Aug 2019 10:37:24 +0200 Francisco Viciana <franciscoj.viciana en juntadeandalucia.es> wrote:> Hola, aunque con un poco de retraso, hago una aportación a este hilo: > > Si tienes un problema con dos escalas de tiempo sobre las que > evolucionan las lineas de seguimiento, creo que es mejor que hacer un > solo gráfico en forma de diagrama de Lexis, que dos gráficos > independientes. Muestro ejemplo usando el paquete "Epi": > > # Código ---------------------------------------------------- > > #---- Generar Datos ---- > rm(list = ls()) > set.seed(20) > XTIEMPO_2 = c(38, 2, 34, 29, 30, 3, 14, 8, 18, 31) # Per fe el gràfic > amb t=0 > set.seed(30) > XTIEMPO_0 = sample(1:40, 10, replace=F) > XTIEMPO_F = XTIEMPO_0 + XTIEMPO_2 > set.seed(20) > XDEF = as.factor(sample(c("Mort", "Viu"), 10, replace=T)) > > DATOS <- data.frame ( > ID = c (1:10) > , TIEMPO_0 = XTIEMPO_0 > , TIEMPO_F = XTIEMPO_F > , TIEMPO_2 = XTIEMPO_2 # Per fe el gràfic amb t=0 > , DEF = XDEF > ) > > > names(DATOS)[2:5] <- c('marriage.age', > 'output.age', > 'duration','output') > > DATOS$output <- factor(DATOS$output,levels = c('Casado','Viu','Mort')) > DATOS$entry <- factor('Casado',levels = c('Casado','Viu','Mort')) > > # Crea objeto Lexis: > library(Epi) > lx.Datos <- Lexis( entry=list(antiguedad.del.matrimonio=0, > edad=marriage.age), > exit=list(edad=output.age), > entry.status = entry , > exit.status = output ,id=ID,data=DATOS,merge=F) > > #---- Muestra datos originales y transformados > DATOS > lx.Datos > > #---- Grafica: ---- > > plot.Lexis(lx.Datos,time.scale = 1:2,col='blue') > with(lx.Datos, points(x=lex.dur,y=edad+lex.dur, > pch=c(NA,19,3)[as.integer(lex.Xst)], > col=1 )) > grid() > legend('bottomright',legend = levels(lx.Datos$lex.Xst)[-1], > pch=c(19,3),col=1) > > ## ---------------------------------------------- > > On 19/7/19 15:03, Griera wrote: > > Hola: > > > > Por si a alguien le interesa para un curso, aquí coloco la versión > > definitiva de los dos gráficos que quería hacer (uno en escala del tiempo del calendario y la otra el tiempo de seguimiento) realizados gracias a la ayuda > > de Carlos Ortega. > > > > Muchas gracias y saludos. > > > > # Código ---------------------------------------------------- > > set.seed(20) > > # TIEMPO_2 = sample(1:40, 10, replace=F) > > XTIEMPO_2 = c(38, 2, 34, 29, 30, 3, 14, 8, 18, 31) # Per fe el gràfic amb t=0 > > set.seed(30) > > XTIEMPO_0 = sample(1:40, 10, replace=F) > > XTIEMPO_F = XTIEMPO_0 + XTIEMPO_2 > > set.seed(20) > > # XDEF = as.factor(sample(c(0,1), 10, replace=T)) > > XDEF = as.factor(sample(c("Mort", "Viu"), 10, replace=T)) > > > > DATOS <- data.frame ( > > ID = c (1:10) > > , TIEMPO_0 = XTIEMPO_0 > > , TIEMPO_F = XTIEMPO_F > > , TIEMPO_2 = XTIEMPO_2 # Per fe el gràfic amb t=0 > > , DEF = XDEF > > ) > > > > library(ggplot2) > > > > ## Gràfic amb temps calendari > > ggplot( data = DATOS ) + > > geom_point( aes(x = TIEMPO_F, y = ID , shape = DEF), size = 5 ) + > > geom_segment( aes( x = TIEMPO_0, y = ID, xend = TIEMPO_F, yend = ID ) ) + > > scale_shape_manual (values = c(4, 16)) + > > xlim (0, 70) + > > xlab ("Data (temps del calendari)") + > > ylab ("Persones") + > > guides(colour = FALSE) + > > labs(shape = ' ', values = c(4, 16)) + > > scale_y_discrete() + > > theme_classic() + > > theme(axis.text.x = element_blank(), axis.ticks.x = element_blank()) > > ## Modificat > > str (DATOS) > > ggplot( data = DATOS ) + > > geom_point( aes(x = TIEMPO_2, y = ID , shape = DEF), size = 5 ) + > > scale_shape_manual (values = c(4, 16)) + > > geom_segment( aes( x = 0, y = ID, xend = TIEMPO_2, yend = ID ) ) + > > xlim (0, 70) + > > xlab ("Temps de seguiment") + > > ylab ("Persones") + > > guides(colour = FALSE) + > > labs(shape = ' ', values = c(4, 16)) + > > scale_y_discrete() + > > theme_classic() > > > > # Código ---------------------------------------------------- > > > > > > On Thu, 18 Jul 2019 14:21:24 +0200 > > Carlos Ortega <cof en qualityexcellence.es> wrote: > > > >> Hola, > >> > >> Sí, lo puedes hacer de esta forma... > >> > >> #----------------- > >> set.seed(20) > >> DATOS <- data.frame ( > >> ID = c (1:10) > >> , TIEMPO = sample(1:40, 10, replace=F) > >> , DEF = as.factor(sample(c(0,1), 10, replace=T)) > >> ) > >> > >> library(ggplot2) > >> > >> ggplot( data = DATOS ) + > >> geom_point( aes(x = TIEMPO, y = ID , shape = DEF, color = DEF), size = 5 > >> ) + > >> geom_segment( aes( x = 0, y = ID, xend = TIEMPO, yend = ID ) ) + > >> guides(colour = FALSE) + > >> labs(shape = 'LEGEND') + > >> scale_y_discrete() + > >> theme_minimal() > >> #----------------- > >> > >> E incluso puedes reproducirlo usando fuentes parecidas a la de los comics > >> con el paquete "xkcd". > >> > >> Saludos, > >> Carlos Ortega > >> www.qualityexcellence.es > >> > >> > >> > >> El jue., 18 jul. 2019 a las 13:05, Griera-yandex (<griera en yandex.com>) > >> escribió: > >> > >>> Hola Pedro: > >>> > >>> Gracias por la ayuda. No conocía esta manera más elegante de mostrar las > >>> curvas de Kaplan-Meier. Te la compro. > >>> > >>> En realidad quería mostrar un gráfico con la longitud de les tiempos de > >>> seguimiento y al final un símbolo para indicar el estado. Seria un gráfico > >>> similar a: > >>> > >>> https://miro.medium.com/max/700/1*yHhG4TVcAAi29Ln88t0_5Q.png > >>> > >>> Pero no encuentro la manera de hacerlo. Igual no se puede. > >>> > >>> Muchas gracias y saludos. > >>> > >>> On Thu, 18 Jul 2019 10:28:37 +0000 > >>> PEDRO CONCEJERO CEREZO <pedro.concejerocerezo en telefonica.com> wrote: > >>> > >>>> Hola, te vale esto? Es forma estandar de representar graficos > >>> supervivencia > >>>> Basado en esto: > >>>> > >>>> https://rviews.rstudio.com/2017/09/25/survival-analysis-with-r/ > >>>> > >>>> set.seed(20) > >>>> > >>>> DATOS <- data.frame ( > >>>> ID = c (1:10) > >>>> , TIEMPO = sample(1:40, 10, replace=F) > >>>> , DEF = sample(0:1, 10, replace=T) > >>>> ) > >>>> > >>>> DATOS > >>>> > >>>> library(survival) > >>>> > >>>> DATOS$DEF <- as.numeric(DATOS$DEF) > >>>> DATOS$TIEMPO <- as.numeric(DATOS$TIEMPO) > >>>> > >>>> s <- Surv(DATOS$TIEMPO, DATOS$DEF) > >>>> head(s) > >>>> > >>>> ## Kaplan-Meier estimator. > >>>> km <- survfit(s ~ 1, > >>>> data = DATOS, > >>>> conf.type = "log-log") > >>>> > >>>> ## Show object > >>>> km > >>>> > >>>> summary(km) > >>>> > >>>> plot(km) > >>>> > >>>> # Instala las librerías necesarias: > >>>> library(ranger) > >>>> library(ggplot2) > >>>> library(dplyr) > >>>> library(ggfortify) > >>>> > >>>> autoplot(km) > >>>> > >>>> > >>>> El 18/07/2019 a las 12:00, r-help-es-request en r-project.org<mailto: > >>> r-help-es-request en r-project.org> escribió: > >>>> Envíe los mensajes para la lista R-help-es a > >>>> r-help-es en r-project.org<mailto:r-help-es en r-project.org> > >>>> > >>>> Para subscribirse o anular su subscripción a través de la WEB > >>>> https://stat.ethz.ch/mailman/listinfo/r-help-es > >>>> > >>>> O por correo electrónico, enviando un mensaje con el texto "help" en > >>>> el asunto (subject) o en el cuerpo a: > >>>> r-help-es-request en r-project.org<mailto: > >>> r-help-es-request en r-project.org> > >>>> Puede contactar con el responsable de la lista escribiendo a: > >>>> r-help-es-owner en r-project.org<mailto: > >>> r-help-es-owner en r-project.org> > >>>> Si responde a algún contenido de este mensaje, por favor, edite la > >>>> linea del asunto (subject) para que el texto sea mas especifico que: > >>>> "Re: Contents of R-help-es digest...". Además, por favor, incluya en > >>>> la respuesta sólo aquellas partes del mensaje a las que está > >>>> respondiendo. > >>>> > >>>> > >>>> Asuntos del día: > >>>> > >>>> 1. Gráfico tiempos de supervivencia (Griera-yandex) > >>>> > >>>> ---------------------------------------------------------------------- > >>>> > >>>> Message: 1 > >>>> Date: Thu, 18 Jul 2019 10:18:42 +0200 > >>>> From: Griera-yandex <griera en yandex.com><mailto:griera en yandex.com> > >>>> To: Lista R <r-help-es en r-project.org><mailto:r-help-es en r-project.org> > >>>> Subject: [R-es] Gráfico tiempos de supervivencia > >>>> Message-ID: <20190718101842.280414d5 en debian-dde> > >>>> Content-Type: text/plain; charset="utf-8" > >>>> > >>>> Buenos días a todos: > >>>> > >>>> Alguien me puede ayudar a hacer (si se puede) con unos datos similares a: > >>>> > >>>> set.seed(20) > >>>> DATOS <- data.frame ( > >>>> ID = c (1:10) > >>>> , TIEMPO = sample(1:40, 10, replace=F) > >>>> , DEF = sample(0:1, 10, replace=T) > >>>> );DATOS > >>>> > >>>> un gráfico que muestre los tiempos de supervivencia similar a: > >>>> https://miro.medium.com/max/700/1*yHhG4TVcAAi29Ln88t0_5Q.png > >>>> > >>>> Lo he intentado con la función followup.plot del paquete > >>>> "epiDisplay" ( > >>> https://cran.r-project.org/web/packages/epiDisplay/index.html), > >>>> pero no encuentro la forma. > >>>> > >>>> Muchas gracias y saludos. > >>>> > >>>> > >>>> > >>>> > >>>> ------------------------------ > >>>> > >>>> Subject: Pié de página del digest > >>>> > >>>> _______________________________________________ > >>>> R-help-es mailing list > >>>> R-help-es en r-project.org<mailto:R-help-es en r-project.org> > >>>> https://stat.ethz.ch/mailman/listinfo/r-help-es > >>>> > >>>> > >>>> ------------------------------ > >>>> > >>>> Fin de Resumen de R-help-es, Vol 125, Envío 7 > >>>> ********************************************* > >>>> > >>>> > >>>> -- > >>>> Pedro Concejero > >>>> Telefónica CDO - 4th Platform - Internal Use Cases > >>>> E-mail: pedro.concejerocerezo en telefonica.com<mailto: > >>> pedro.concejerocerezo en telefonica.com> > >>>> skype: pedro.concejero > >>>> twitter @ConcejeroPedro<https://twitter.com/ConcejeroPedro> > >>>> linkedin pedroconcejero<http://www.linkedin.com/in/pedroconcejero/es> > >>>> eRReRo feliz, me puedes encontrar en gRupo R madRid < > >>> http://madrid.r-es.org/?s=concejero&searchsubmit.x=21&searchsubmit.y=13> > >>>> ________________________________ > >>>> > >>>> Este mensaje y sus adjuntos se dirigen exclusivamente a su destinatario, > >>> puede contener información privilegiada o confidencial y es para uso > >>> exclusivo de la persona o entidad de destino. Si no es usted. el > >>> destinatario indicado, queda notificado de que la lectura, utilización, > >>> divulgación y/o copia sin autorización puede estar prohibida en virtud de > >>> la legislación vigente. Si ha recibido este mensaje por error, le rogamos > >>> que nos lo comunique inmediatamente por esta misma vía y proceda a su > >>> destrucción. > >>>> The information contained in this transmission is privileged and > >>> confidential information intended only for the use of the individual or > >>> entity named above. If the reader of this message is not the intended > >>> recipient, you are hereby notified that any dissemination, distribution or > >>> copying of this communication is strictly prohibited. If you have received > >>> this transmission in error, do not read it. Please immediately reply to the > >>> sender that you have received this communication in error and then delete > >>> it. > >>>> Esta mensagem e seus anexos se dirigem exclusivamente ao seu > >>> destinatário, pode conter informação privilegiada ou confidencial e é para > >>> uso exclusivo da pessoa ou entidade de destino. Se não é vossa senhoria o > >>> destinatário indicado, fica notificado de que a leitura, utilização, > >>> divulgação e/ou cópia sem autorização pode estar proibida em virtude da > >>> legislação vigente. Se recebeu esta mensagem por erro, rogamos-lhe que nos > >>> o comunique imediatamente por esta mesma via e proceda a sua destruição > >>>> [[alternative HTML version deleted]] > >>>> > >>>> _______________________________________________ > >>>> R-help-es mailing list > >>>> R-help-es en r-project.org > >>>> https://stat.ethz.ch/mailman/listinfo/r-help-es > >>> _______________________________________________ > >>> R-help-es mailing list > >>> R-help-es en r-project.org > >>> https://stat.ethz.ch/mailman/listinfo/r-help-es > >>> > >> > >> -- > >> Saludos, > >> Carlos Ortega > >> www.qualityexcellence.es > > _______________________________________________ > > R-help-es mailing list > > R-help-es en r-project.org > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > -- > +-------------------------------------------------------------- > | Francisco J. Viciana Fernández > | Dpto. Indicadores Demográficos > | Servicio de Estadísticas Demográficas y Sociales > | Instituto de Estadística y Cartografía de Andalucía > | Leonardo Da Vinci, nº 21. Isla de La Cartuja. > | 41071 SEVILLA. > | franciscoj.viciana en juntadeandalucia.es > +-------------------------------------------------------------- >
Hola, aunque con un poco de retraso, hago una aportación a este hilo:
Si tienes un problema con dos escalas de tiempo sobre las que
evolucionan las lineas de seguimiento, creo que es mejor que hacer un
solo gráfico en forma de diagrama de Lexis, que dos gráficos
independientes. Muestro ejemplo usando el paquete "Epi":
# Código ----------------------------------------------------
#---- Generar Datos ----
rm(list = ls())
set.seed(20)
XTIEMPO_2 = c(38, 2, 34, 29, 30, 3, 14, 8, 18, 31) # Per fe el gràfic
amb t=0
set.seed(30)
XTIEMPO_0 = sample(1:40, 10, replace=F)
XTIEMPO_F = XTIEMPO_0 + XTIEMPO_2
set.seed(20)
XDEF = as.factor(sample(c("Mort", "Viu"), 10, replace=T))
DATOS <- data.frame (
ID = c (1:10)
, TIEMPO_0 = XTIEMPO_0
, TIEMPO_F = XTIEMPO_F
, TIEMPO_2 = XTIEMPO_2 # Per fe el gràfic amb t=0
, DEF = XDEF
)
names(DATOS)[2:5] <- c('marriage.age',
'output.age',
'duration','output')
DATOS$output <- factor(DATOS$output,levels =
c('Casado','Viu','Mort'))
DATOS$entry <- factor('Casado',levels =
c('Casado','Viu','Mort'))
# Crea objeto Lexis:
library(Epi)
lx.Datos <- Lexis( entry=list(antiguedad.del.matrimonio=0,
edad=marriage.age),
exit=list(edad=output.age),
entry.status = entry ,
exit.status = output ,id=ID,data=DATOS,merge=F)
#---- Muestra datos originales y transformados
DATOS
lx.Datos
#---- Grafica: ----
plot.Lexis(lx.Datos,time.scale = 1:2,col='blue')
with(lx.Datos, points(x=lex.dur,y=edad+lex.dur,
pch=c(NA,19,3)[as.integer(lex.Xst)],
col=1 ))
grid()
legend('bottomright',legend = levels(lx.Datos$lex.Xst)[-1],
pch=c(19,3),col=1)
## ----------------------------------------------
On 19/7/19 15:03, Griera wrote:> Hola:
>
> Por si a alguien le interesa para un curso, aquí coloco la versión
> definitiva de los dos gráficos que quería hacer (uno en escala del tiempo
del calendario y la otra el tiempo de seguimiento) realizados gracias a la ayuda
> de Carlos Ortega.
>
> Muchas gracias y saludos.
>
> # Código ----------------------------------------------------
> set.seed(20)
> # TIEMPO_2 = sample(1:40, 10, replace=F)
> XTIEMPO_2 = c(38, 2, 34, 29, 30, 3, 14, 8, 18, 31) # Per fe el gràfic amb
t=0
> set.seed(30)
> XTIEMPO_0 = sample(1:40, 10, replace=F)
> XTIEMPO_F = XTIEMPO_0 + XTIEMPO_2
> set.seed(20)
> # XDEF = as.factor(sample(c(0,1), 10, replace=T))
> XDEF = as.factor(sample(c("Mort", "Viu"), 10,
replace=T))
>
> DATOS <- data.frame (
> ID = c (1:10)
> , TIEMPO_0 = XTIEMPO_0
> , TIEMPO_F = XTIEMPO_F
> , TIEMPO_2 = XTIEMPO_2 # Per fe el gràfic amb t=0
> , DEF = XDEF
> )
>
> library(ggplot2)
>
> ## Gràfic amb temps calendari
> ggplot( data = DATOS ) +
> geom_point( aes(x = TIEMPO_F, y = ID , shape = DEF), size = 5 ) +
> geom_segment( aes( x = TIEMPO_0, y = ID, xend = TIEMPO_F, yend = ID )
) +
> scale_shape_manual (values = c(4, 16)) +
> xlim (0, 70) +
> xlab ("Data (temps del calendari)") +
> ylab ("Persones") +
> guides(colour = FALSE) +
> labs(shape = ' ', values = c(4, 16)) +
> scale_y_discrete() +
> theme_classic() +
> theme(axis.text.x = element_blank(), axis.ticks.x = element_blank())
> ## Modificat
> str (DATOS)
> ggplot( data = DATOS ) +
> geom_point( aes(x = TIEMPO_2, y = ID , shape = DEF), size = 5 ) +
> scale_shape_manual (values = c(4, 16)) +
> geom_segment( aes( x = 0, y = ID, xend = TIEMPO_2, yend = ID ) ) +
> xlim (0, 70) +
> xlab ("Temps de seguiment") +
> ylab ("Persones") +
> guides(colour = FALSE) +
> labs(shape = ' ', values = c(4, 16)) +
> scale_y_discrete() +
> theme_classic()
>
> # Código ----------------------------------------------------
>
>
> On Thu, 18 Jul 2019 14:21:24 +0200
> Carlos Ortega <cof en qualityexcellence.es> wrote:
>
>> Hola,
>>
>> Sí, lo puedes hacer de esta forma...
>>
>> #-----------------
>> set.seed(20)
>> DATOS <- data.frame (
>> ID = c (1:10)
>> , TIEMPO = sample(1:40, 10, replace=F)
>> , DEF = as.factor(sample(c(0,1), 10, replace=T))
>> )
>>
>> library(ggplot2)
>>
>> ggplot( data = DATOS ) +
>> geom_point( aes(x = TIEMPO, y = ID , shape = DEF, color = DEF),
size = 5
>> ) +
>> geom_segment( aes( x = 0, y = ID, xend = TIEMPO, yend = ID ) ) +
>> guides(colour = FALSE) +
>> labs(shape = 'LEGEND') +
>> scale_y_discrete() +
>> theme_minimal()
>> #-----------------
>>
>> E incluso puedes reproducirlo usando fuentes parecidas a la de los
comics
>> con el paquete "xkcd".
>>
>> Saludos,
>> Carlos Ortega
>> www.qualityexcellence.es
>>
>>
>>
>> El jue., 18 jul. 2019 a las 13:05, Griera-yandex (<griera en
yandex.com>)
>> escribió:
>>
>>> Hola Pedro:
>>>
>>> Gracias por la ayuda. No conocía esta manera más elegante de
mostrar las
>>> curvas de Kaplan-Meier. Te la compro.
>>>
>>> En realidad quería mostrar un gráfico con la longitud de les
tiempos de
>>> seguimiento y al final un símbolo para indicar el estado. Seria un
gráfico
>>> similar a:
>>>
>>> https://miro.medium.com/max/700/1*yHhG4TVcAAi29Ln88t0_5Q.png
>>>
>>> Pero no encuentro la manera de hacerlo. Igual no se puede.
>>>
>>> Muchas gracias y saludos.
>>>
>>> On Thu, 18 Jul 2019 10:28:37 +0000
>>> PEDRO CONCEJERO CEREZO <pedro.concejerocerezo en
telefonica.com> wrote:
>>>
>>>> Hola, te vale esto? Es forma estandar de representar graficos
>>> supervivencia
>>>> Basado en esto:
>>>>
>>>> https://rviews.rstudio.com/2017/09/25/survival-analysis-with-r/
>>>>
>>>> set.seed(20)
>>>>
>>>> DATOS <- data.frame (
>>>> ID = c (1:10)
>>>> , TIEMPO = sample(1:40, 10, replace=F)
>>>> , DEF = sample(0:1, 10, replace=T)
>>>> )
>>>>
>>>> DATOS
>>>>
>>>> library(survival)
>>>>
>>>> DATOS$DEF <- as.numeric(DATOS$DEF)
>>>> DATOS$TIEMPO <- as.numeric(DATOS$TIEMPO)
>>>>
>>>> s <- Surv(DATOS$TIEMPO, DATOS$DEF)
>>>> head(s)
>>>>
>>>> ## Kaplan-Meier estimator.
>>>> km <- survfit(s ~ 1,
>>>> data = DATOS,
>>>> conf.type = "log-log")
>>>>
>>>> ## Show object
>>>> km
>>>>
>>>> summary(km)
>>>>
>>>> plot(km)
>>>>
>>>> # Instala las librerías necesarias:
>>>> library(ranger)
>>>> library(ggplot2)
>>>> library(dplyr)
>>>> library(ggfortify)
>>>>
>>>> autoplot(km)
>>>>
>>>>
>>>> El 18/07/2019 a las 12:00, r-help-es-request en
r-project.org<mailto:
>>> r-help-es-request en r-project.org> escribió:
>>>> Envíe los mensajes para la lista R-help-es a
>>>> r-help-es en r-project.org<mailto:r-help-es en
r-project.org>
>>>>
>>>> Para subscribirse o anular su subscripción a través de la WEB
>>>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>>>
>>>> O por correo electrónico, enviando un mensaje con el texto
"help" en
>>>> el asunto (subject) o en el cuerpo a:
>>>> r-help-es-request en r-project.org<mailto:
>>> r-help-es-request en r-project.org>
>>>> Puede contactar con el responsable de la lista escribiendo a:
>>>> r-help-es-owner en r-project.org<mailto:
>>> r-help-es-owner en r-project.org>
>>>> Si responde a algún contenido de este mensaje, por favor, edite
la
>>>> linea del asunto (subject) para que el texto sea mas especifico
que:
>>>> "Re: Contents of R-help-es digest...". Además, por
favor, incluya en
>>>> la respuesta sólo aquellas partes del mensaje a las que está
>>>> respondiendo.
>>>>
>>>>
>>>> Asuntos del día:
>>>>
>>>> 1. Gráfico tiempos de supervivencia (Griera-yandex)
>>>>
>>>>
----------------------------------------------------------------------
>>>>
>>>> Message: 1
>>>> Date: Thu, 18 Jul 2019 10:18:42 +0200
>>>> From: Griera-yandex <griera en
yandex.com><mailto:griera en yandex.com>
>>>> To: Lista R <r-help-es en
r-project.org><mailto:r-help-es en r-project.org>
>>>> Subject: [R-es] Gráfico tiempos de supervivencia
>>>> Message-ID: <20190718101842.280414d5 en debian-dde>
>>>> Content-Type: text/plain; charset="utf-8"
>>>>
>>>> Buenos días a todos:
>>>>
>>>> Alguien me puede ayudar a hacer (si se puede) con unos datos
similares a:
>>>>
>>>> set.seed(20)
>>>> DATOS <- data.frame (
>>>> ID = c (1:10)
>>>> , TIEMPO = sample(1:40, 10, replace=F)
>>>> , DEF = sample(0:1, 10, replace=T)
>>>> );DATOS
>>>>
>>>> un gráfico que muestre los tiempos de supervivencia similar a:
>>>> https://miro.medium.com/max/700/1*yHhG4TVcAAi29Ln88t0_5Q.png
>>>>
>>>> Lo he intentado con la función followup.plot del paquete
>>>> "epiDisplay" (
>>> https://cran.r-project.org/web/packages/epiDisplay/index.html),
>>>> pero no encuentro la forma.
>>>>
>>>> Muchas gracias y saludos.
>>>>
>>>>
>>>>
>>>>
>>>> ------------------------------
>>>>
>>>> Subject: Pié de página del digest
>>>>
>>>> _______________________________________________
>>>> R-help-es mailing list
>>>> R-help-es en r-project.org<mailto:R-help-es en
r-project.org>
>>>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>>>
>>>>
>>>> ------------------------------
>>>>
>>>> Fin de Resumen de R-help-es, Vol 125, Envío 7
>>>> *********************************************
>>>>
>>>>
>>>> --
>>>> Pedro Concejero
>>>> Telefónica CDO - 4th Platform - Internal Use Cases
>>>> E-mail: pedro.concejerocerezo en telefonica.com<mailto:
>>> pedro.concejerocerezo en telefonica.com>
>>>> skype: pedro.concejero
>>>> twitter
@ConcejeroPedro<https://twitter.com/ConcejeroPedro>
>>>> linkedin
pedroconcejero<http://www.linkedin.com/in/pedroconcejero/es>
>>>> eRReRo feliz, me puedes encontrar en gRupo R madRid <
>>>
http://madrid.r-es.org/?s=concejero&searchsubmit.x=21&searchsubmit.y=13>
>>>> ________________________________
>>>>
>>>> Este mensaje y sus adjuntos se dirigen exclusivamente a su
destinatario,
>>> puede contener información privilegiada o confidencial y es para
uso
>>> exclusivo de la persona o entidad de destino. Si no es usted. el
>>> destinatario indicado, queda notificado de que la lectura,
utilización,
>>> divulgación y/o copia sin autorización puede estar prohibida en
virtud de
>>> la legislación vigente. Si ha recibido este mensaje por error, le
rogamos
>>> que nos lo comunique inmediatamente por esta misma vía y proceda a
su
>>> destrucción.
>>>> The information contained in this transmission is privileged
and
>>> confidential information intended only for the use of the
individual or
>>> entity named above. If the reader of this message is not the
intended
>>> recipient, you are hereby notified that any dissemination,
distribution or
>>> copying of this communication is strictly prohibited. If you have
received
>>> this transmission in error, do not read it. Please immediately
reply to the
>>> sender that you have received this communication in error and then
delete
>>> it.
>>>> Esta mensagem e seus anexos se dirigem exclusivamente ao seu
>>> destinatário, pode conter informação privilegiada ou confidencial e
é para
>>> uso exclusivo da pessoa ou entidade de destino. Se não é vossa
senhoria o
>>> destinatário indicado, fica notificado de que a leitura,
utilização,
>>> divulgação e/ou cópia sem autorização pode estar proibida em
virtude da
>>> legislação vigente. Se recebeu esta mensagem por erro, rogamos-lhe
que nos
>>> o comunique imediatamente por esta mesma via e proceda a sua
destruição
>>>> [[alternative HTML version deleted]]
>>>>
>>>> _______________________________________________
>>>> R-help-es mailing list
>>>> R-help-es en r-project.org
>>>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>> _______________________________________________
>>> R-help-es mailing list
>>> R-help-es en r-project.org
>>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>>
>>
>> --
>> Saludos,
>> Carlos Ortega
>> www.qualityexcellence.es
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
--
+--------------------------------------------------------------
| Francisco J. Viciana Fernández
| Dpto. Indicadores Demográficos
| Servicio de Estadísticas Demográficas y Sociales
| Instituto de Estadística y Cartografía de Andalucía
| Leonardo Da Vinci, nº 21. Isla de La Cartuja.
| 41071 SEVILLA.
| franciscoj.viciana en juntadeandalucia.es
+--------------------------------------------------------------
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: franciscoj_viciana.vcf
Type: text/x-vcard
Size: 4 bytes
Desc: no disponible
URL:
<https://stat.ethz.ch/pipermail/r-help-es/attachments/20190808/c07f7445/attachment.vcf>