Подтвердить что ты не робот

Таблица подмножества данных, заданная диапазоном дат в R

У меня есть большой набор данных в data.table, который я бы хотел подмножать в диапазоне дат. Мой набор данных выглядит следующим образом:

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

Я хотел бы иметь возможность выбирать диапазон дат непосредственно из столбца as.Date без использования столбцов yr, mo или da. В настоящее время я подмножаюсь на mo, и это очень неуклюжие время от времени, особенно когда меняют годы. Более элегантный способ сделать это сделает мою жизнь бесконечно легче.

Спасибо заранее!

4b9b3361

Ответ 1

Почему бы и нет:

testset[date>="2013-08-02" & date<="2013-11-01"]

Ответ 2

См. также:

?`%between%`

Работает следующим образом:

testset[date %between% c("2013-08-02", "2013-11-01")]

Ответ 3

Вы упомянули, что вы подмножество, но неясно, используете ли вы подмножество fn в R.

Подмножество типа? в консоль R, чтобы увидеть детали функции subset() в R, которая возвращает подмножество векторов, матриц или фреймов данных, удовлетворяющих условиям. Затем используйте часть метода, который Troy опубликовал выше, чтобы выбрать диапазон дат

thisYear <- subset(testset, date > "2015-01-01" & date < "2015-12-31")