【发布时间】:2023-03-26 19:50:01
【问题描述】:
我的问题之前可能有人问过。我搜索了,但我找不到。感谢您的回答或参考以前的帖子。我有两个数据集。我的数据集(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”之前的时间(记录)。例如,输出应包括但不限于我的数据中 7 天的所有 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 .. ..
【问题讨论】:
标签: r