Como fazer esse grafico no ggplot2

Amigos de R, Essa semana eu decidi que iria aprender a usar o ggplot2. Logo na primeira tarefa empaquei uns 40 min. Como fazer esse grafico que faço no graphics com o ggplot2?
rec.cum b2 r3 r24 r25 1 1 2014-04-09 Sim 2014-04-09 10 2 2014-04-15 Não 2014-04-15 12 3 2014-04-16 Sim 2014-04-16 21 4 2014-05-16 Sim 2014-05-16 28 5 2014-05-28 Sim 2014-05-28 35 6 2014-07-29 Sim 2014-07-29 42 7 2014-08-27 Sim 2014-08-27 49 8 2014-10-07 Sim 2014-10-08 55 9 2014-10-22 Sim 2014-10-22 61 10 2014-10-27 Não 2014-10-27 78 11 2014-10-29 Sim 2014-10-29 84 12 2014-11-10 Sim 2014-11-10 89 13 2014-11-10 Sim 2014-11-10 93 14 2014-11-19 Não 2014-11-19 94 15 2014-12-02 Sim 2014-12-02 95 16 2014-12-08 Sim 2014-12-08 99 17 2015-02-25 Sim 2015-02-25 100 18 2015-03-03 Sim 2015-03-03 101 19 2015-03-10 Sim 2015-03-10 102 20 2015-03-17 Sim 2015-03-17
plot.recrut <- function(){ plot(rec.cum$r3,1:nrow(rec.cum),type='b',xlab='',ylab='Número de pacientes rastreados/recrutados',lty=2,col=2,pch=6,cex=1,lwd=3,xlim=c(min(rec.cum$r3,na.rm=T),max(rec.cum$r25,na.rm=T)),axes=F);grid();box();axis(2) tmp <- rec.cum[order(rec.cum$r25),] tmp <- tmp[which(tmp$r24=='Sim'),] lines(tmp$r25,1:nrow(tmp),type='b',lty=3,col=4,pch=2,cex=1,lwd=3) rm(tmp) axis.Date(1,rec.cum$r3,format='%d') # axis.Date(1,rec.cum$r3,format='%b',line=1.5,tick=F) axis.Date(1,rec.cum$r3,format='%Y',line=2.5,tick=F) legend('bottomrigh',c(paste('Primeiro rastreado:',min(rec.cum$r3,na.rm=T)),paste('Último rastreado:',max(rec.cum$r3,na.rm=T))),bty='n') legend('topleft',c(paste('Primeiro recrutado:',min(rec.cum$r25,na.rm=T)),paste('Último recrutado:',max(rec.cum$r25,na.rm=T))),bty='n') legend('top',c('Rastreamento','Recrutamento'),lty=c(2,3),col=c(2,4),pch=c(6,2),pt.cex=1.5,lwd=3,bty='n',xpd=T,inset=-.15,horiz=T) } plot.recrut() Abraço forte, Pedro Brasil

Se você fornecer a saída do dput() do seu objeto rec.cum, aí fica facilmente reproduzível seu código. À disposição. Walmes.

Ei Walmes, Eu achei que seria mais facil dessa forma porque eu mesmo faria rec.cum <- read.table("clipboard") # depois de um ctrl+c Mas de qualquer forma segue o dput
dput(rec.cum) structure(list(b2 = structure(1:20, label = "Número de rastreamento", class = c("labelled", "integer")), r3 = structure(c(16169, 16175, 16176, 16206, 16218, 16280, 16309, 16350, 16365, 16370, 16372, 16384, 16384, 16393, 16406, 16412, 16491, 16497, 16504, 16511), class = c("labelled", "Date"), label = "Data do início da avaliação"), r24 = structure(c(2L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("Não", "Sim"), class = c("labelled", "factor"), label = "Apto a ser voluntário"), r25 = structure(c(16169, 16175, 16176, 16206, 16218, 16280, 16309, 16351, 16365, 16370, 16372, 16384, 16384, 16393, 16406, 16412, 16491, 16497, 16504, 16511), class = c("labelled", "Date"), label = "Data do fim da avaliação de recrutamento")), .Names = c("b2", "r3", "r24", "r25"), row.names = c(1L, 10L, 12L, 21L, 29L, 36L, 43L, 50L, 56L, 62L, 79L, 85L, 90L, 94L, 95L, 96L, 101L, 102L, 103L, 105L), class = "data.frame")
abraço forte, Pedro Brasil Em 31 de março de 2015 12:18, walmes . <walmeszeviani@gmail.com> escreveu:
Se você fornecer a saída do dput() do seu objeto rec.cum, aí fica facilmente reproduzível seu código.
À disposição. Walmes.
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.

Não ficou exatamente igual, mas já dá para brincar um pouco https://gist.github.com/anonymous/ecfe94e09cd63a70b119 Att.,Rubem

Ei Ruben, Obrigado pelo exemplo. Funcionou aqui comigo. Eu não sou muito familiarizado com algumas funções e operadores que criam os dados na primeira parte do script. Mas olhando o objeto dados, eu entendi que a minha maior dificuldade não eram as funções graficas em si, mas entender que os dados que deveriam entrar na função geom (ou qplot) deveriam estar numa disposição tal que permitisse o Tipo (rastreamento e recrutamento) fossem níveis da mesma variável. Depois disso não me parece difícil. O que me supreendeu, nessa historia foi que o que li a respeito do ggplot é que seria um conjunto de funções mais fácil de usar e mais proximo da linguagem do usuário quando comparado com o graphics. O novo script tem 14 linhas e o velho tem 13. Talvez o numero de funções seja mais adequado para essa comparação, mas a impressão inicial é que para esse exemplo a quantidade de trabalho seria a mesma. Não é? Abraço forte, Pedro Brasil Em 1 de abril de 2015 11:51, Rubem Kaipper Ceratti < rubem_ceratti@yahoo.com.br> escreveu:
Não ficou exatamente igual, mas já dá para brincar um pouco https://gist.github.com/anonymous/ecfe94e09cd63a70b119
Att., Rubem
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.

Ei Walmes, Vou fazer o dput assim que puder. Mas enviei dessa forma porque eu mesmo faria o seguinte... Copiar rec.cum para a area de transferencia com ctrl+c e rec.cum <- read.table('clipboard') E continuaria com o script indicado.... Pedro Brasil via Android (:)= Em 31/03/2015 12:18, "walmes ." <walmeszeviani@gmail.com> escreveu:
Se você fornecer a saída do dput() do seu objeto rec.cum, aí fica facilmente reproduzível seu código.
À disposição. Walmes.
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
participantes (3)
-
Pedro Emmanuel Alvarenga Americano do Brasil
-
Rubem Kaipper Ceratti
-
walmes .