User request: allow date adjustment using % strptime abbreviations syntax
Closed this issue · 3 comments
@nsbatra - the following requires the dev (GitHub main/master branches) of incidence2
and grates
but hopefully works as you were hoping. Let me know what you think:
library(outbreaks)
library(incidence2)
dat <- ebola_sim_clean$linelist
x <- incidence(dat, date_of_onset, interval = "month")
x
#> An incidence2 object: 13 x 2
#> 5829 cases from 2014-Apr to 2015-Apr
#> interval: 1 month
#> cumulative: FALSE
#>
#> date_index count
#> <month> <int>
#> 1 2014-Apr 7
#> 2 2014-May 67
#> 3 2014-Jun 102
#> 4 2014-Jul 228
#> 5 2014-Aug 540
#> 6 2014-Sep 1144
#> 7 2014-Oct 1199
#> 8 2014-Nov 779
#> 9 2014-Dec 567
#> 10 2015-Jan 427
#> 11 2015-Feb 307
#> 12 2015-Mar 277
#> 13 2015-Apr 185
# centred dates (default for yearweek, single months, quarters and years)
plot(x, color = "white")
# histogram-esque dates on the breaks (defaults to "%Y-%m-%d")
plot(x, color = "white", centre_dates = FALSE)
# can specify a different format
plot(x, color = "white", centre_dates = FALSE, date_format = "%d-%m-%Y")
Created on 2021-05-19 by the reprex package (v2.0.0)
@tjtnew thanks so much for these developments. I haven't tried it yet, but the above looks perfect. I like how you can set the month Dec-2014 in the centre of the bar, and the YYYY-MM-DD at the front end of the bar.
I will try to test further today, but perhaps its a quick answer - does the date_format = argument work the same if the interval is weeks or two weeks?
Yes for single weeks. They default to being centred but can be changed to hitogram dates in the same way as above. 2 week intervals can never be centred and will always be dates (but you can use date_format to give them a different format) - see below and note the issue I need to fix on the y-axis labelling ;)
library(outbreaks)
library(incidence2)
dat <- ebola_sim_clean$linelist
xw<- incidence(dat, date_of_onset, interval = "week")
xw
#> An incidence2 object: 56 x 2
#> 5829 cases from 2014-W15 to 2015-W18
#> interval: 1 (Monday) week
#> cumulative: FALSE
#>
#> date_index count
#> <yrwk> <int>
#> 1 2014-W15 1
#> 2 2014-W16 1
#> 3 2014-W17 5
#> 4 2014-W18 4
#> 5 2014-W19 12
#> 6 2014-W20 17
#> 7 2014-W21 15
#> 8 2014-W22 19
#> 9 2014-W23 23
#> 10 2014-W24 21
#> # … with 46 more rows
# centred dates (default for yearweek, single months, quarters and years)
plot(xw, color = "white")
# centred dates (default for yearweek, single months, quarters and years)
plot(xw, color = "white", centre_dates = FALSE)
x2w<- incidence(dat, date_of_onset, interval = "2 weeks")
x2w
#> An incidence2 object: 28 x 2
#> 5829 cases from 2014-04-07 to 2015-05-03
#> interval: 14 days
#> cumulative: FALSE
#>
#> date_index count
#> <period> <int>
#> 1 2014-04-07 to 2014-04-20 2
#> 2 2014-04-21 to 2014-05-04 9
#> 3 2014-05-05 to 2014-05-18 29
#> 4 2014-05-19 to 2014-06-01 34
#> 5 2014-06-02 to 2014-06-15 44
#> 6 2014-06-16 to 2014-06-29 52
#> 7 2014-06-30 to 2014-07-13 72
#> 8 2014-07-14 to 2014-07-27 120
#> 9 2014-07-28 to 2014-08-10 166
#> 10 2014-08-11 to 2014-08-24 255
#> # … with 18 more rows
# centred dates (default for yearweek, single months, quarters and years)
plot(x2w, color = "white")
Created on 2021-05-20 by the reprex package (v2.0.0)