Como plotar uma função de degraus da escada com o ggplot?

15

Eu tenho o gráfico assim: insira a descrição da imagem aqui

O código R para gerá-lo é:

DF <- data.frame(date = as.Date(runif(100, 0, 800),origin="2005-01-01"), 
                 outcome = rbinom(100, 1, 0.1))
DF <- DF[order(DF$DateVariable),] #Sort by date
DF$x <- seq(length=nrow(DF)) #Add case numbers (in order, since sorted)
DF$y <- cumsum(DF$outcome)
library(ggplot2)
ggplot(DF, aes(x,y)) + geom_path() + #Ploting
scale_y_continuous(name= "Number of failures") +
scale_x_continuous(name= "Operations performed")

Eu quero algo como isto: insira a descrição da imagem aqui

A diferença está na forma de etapas em caso de falha (eu preciso retangular).

Minhas perguntas são:

  • Como conseguir isso com o ggplot2?
  • Existe alguma opção melhor para visualizar a taxa de falhas ao longo do tempo / iterações realizadas?
  • Que variante é mais fácil de entender: isto ou aquilo ou, talvez algo diferente?
Yuriy Petrovskiy
fonte
2
Você olhou para a ajuda on-line, had.co.nz/ggplot2/geom_step.html ?
chl
Sim é isso. Perdeu isso na documentação.
Yuriy Petrovskiy
2
@Yuriy, por favor responda sua pergunta. Ajudaria futuros usuários com problemas semelhantes.
Mkttas 22/08
@mpiktas, adicionou uma resposta para a pergunta principal. Alguma opinião sobre outras questões?
Yuriy Petrovskiy

Respostas:

17

Conforme observado por @chl, a resposta é simplesmente usar geom_step () em vez de geom_path () no exemplo acima.

Resultado (o gráfico possui dados diferentes):

insira a descrição da imagem aqui

Yuriy Petrovskiy
fonte