Bagaimana cara plot fungsi tangga dengan ggplot?

15

Saya memiliki grafik seperti ini: masukkan deskripsi gambar di sini

Kode R untuk menghasilkannya adalah:

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")

Saya ingin sesuatu seperti ini: masukkan deskripsi gambar di sini

Perbedaannya adalah dalam bentuk langkah-langkah jika terjadi kegagalan (saya perlu persegi panjang).

Pertanyaan saya adalah:

  • Bagaimana cara mencapainya dengan ggplot2?
  • Apakah ada opsi yang lebih baik untuk memvisualisasikan tingkat kegagalan dari waktu ke waktu / iterasi dilakukan?
  • Varian apa yang lebih mudah dipahami: ini atau itu atau, mungkin sesuatu yang berbeda?
Yuriy Petrovskiy
sumber
2
Apakah Anda melihat bantuan online, had.co.nz/ggplot2/geom_step.html ?
chl
Ya ini dia. Ketinggalan dalam dokumentasi ini.
Yuriy Petrovskiy
2
@ Yuriy, tolong jawab pertanyaan Anda. Ini akan membantu pengguna di masa depan dengan masalah yang sama.
mpiktas
@mpiktas, menambahkan jawaban untuk pertanyaan utama. Ada pendapat tentang pertanyaan lain?
Yuriy Petrovskiy

Jawaban:

17

Seperti yang dicatat oleh @chl jawabannya hanya menggunakan geom_step () alih-alih geom_path () pada contoh di atas.

Hasil (plot memiliki data berbeda):

masukkan deskripsi gambar di sini

Yuriy Petrovskiy
sumber