Возможно, мой вопрос задавался раньше. Я искал, но я не мог найти. Спасибо за ваш ответ или со ссылкой на предыдущий пост. У меня есть два набора данных. Мои наборы данных (DF1 и DF2) включают в себя дату, время и значение моих желаемых переменных (V1 и V2). Столбцы «Дата» и «Время» относятся к классу факторов. Вот мой DF1, включая V1:
#DF1
Date Time V1
6/2/2019 0:00:00 0
6/2/2019 0:01:00 24
.
..
6/2/2019 23:59:00 56
6/3/2019 0:00:00 78
6/3/2019 0:01:00 24
.
..
6/3/2019 23:59:00 32
6/4/2019 0:00:00 14
6/4/2019 0:01:00 62
.
..
6/4/2019 23:59:00 103
Затем, вот мои данные (DF2), которые включают переменную 2 (V2).
#DF2
Date Time V2
6/2/2019 0:00:00 2
6/2/2019 0:01:00 33
.
..
6/2/2019 23:59:00 12
6/3/2019 0:00:00 14
6/3/2019 0:01:00 56
.
..
6/3/2019 23:59:00 67
6/4/2019 0:00:00 94
6/4/2019 0:01:00 43
.
..
6/4/2019 23:59:00 156
Сначала я должен объединить эти два набора данных на основе переменной DateTime (которая является комбинацией даты и времени). Итак, я использовал следующий код:
# I used the following to change the date class for DF1 and DF2.
DF1$Date <- as.Date(DF1$Date , "%d/%m/%Y")
DF2$Date <- as.Date(DF2$Date , "%d/%m/%Y")
#Then, I merged Date and Time in each dataset in a variable called "Datetime"
DF1$Datetime <- paste(DF1$Date , DF1$Time)
DF2$Datetime <- paste(DF2$Date , DF2$Time)
#Then, I changed the type of Datetime variable as follows:
DF1$Datetime <- as.POSIXct(DF1$Datetime, format = "%Y-%m-%d %H:%M:%S")
DF2$Datetime <- as.POSIXct(DF2$Datetime, format = "%Y-%m-%d %H:%M:%S")
#After that, I merged the datasets DF1 and DF2 by Datetime variable:
My_DF <- merge(DF1, DF2, by = "Datetime")
Теперь мне нужно извлечь подмножество My_DF со временем (записями) после «9:00:00» и до «22:00»: 00" . Например, вывод должен включать в себя, но не ограничиваясь, все записи 9:01:00 за семь дней в моих данных. Итак, я попробовал следующее, но это не работает:
New_DF <- subset(My_DF, My_DF$Time > "09:00:00" & My_DF$Time < "22:00:00")
New_DF (мой желаемый вывод) должен быть следующим:
Date Time V1 V2
6/2/2019 9:01:00 .. ..
6/3/2019 9:01:00 .. ..
6/4/2019 9:01:00 .. ..
6/2/2019 9:02:00 .. ..
6/3/2019 9:02:00 .. ..
6/4/2019 9:02:00 .. ..
..
6/2/2019 21:59:00 .. ..
6/3/2019 21:59:00 .. ..
6/3/2019 21:59:00 .. ..