I have a large dataset in data.table that I'd like to subset by a date range. My data set looks like this:
testset <- data.table(date=as.Date(c("2013-07-02","2013-08-03","2013-09-04",                                      "2013-10-05","2013-11-06")),                        yr = c(2013,2013,2013,2013,2013),                        mo = c(07,08,09,10,11),                       da = c(02,03,04,05,06),                        plant = LETTERS[1:5],                        product = as.factor(letters[26:22]),                        rating = runif(25))   I'd like to be able to choose a date range directly from the as.Date column without using the yr, mo, or da columns. Currently, I'm subsetting by mo and it's extremely clunky at times, especially when years switch over. A more elegant method of doing this would make my life infinitely easier.
Thanks in advance!
Here order() function is used to sort the dataframe by R using order() function based on the date column, we have to convert the date column to date with the format, this will sort in ascending order.
Why not:
testset[date>="2013-08-02" & date<="2013-11-01"] 
                        See also:
?`%between%`   Works like this:
testset[date %between% c("2013-08-02", "2013-11-01")] 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With