R 灵活的时间选择
我有多个客户的交易数据,因此每个数据点都包含交易发生的时间 现在,当我获得新的数据点时,我希望通过灵活的“小时”选择为特定客户子集我的数据 下面是一个示例R 灵活的时间选择,r,time,R,Time,我有多个客户的交易数据,因此每个数据点都包含交易发生的时间 现在,当我获得新的数据点时,我希望通过灵活的“小时”选择为特定客户子集我的数据 下面是一个示例df: Cust_id Date Time 1 5/1/17 03:12:22 1 6/1/17 23:45:17 1 6/1/17 21:55:45 假设我的新数据点属于Cust\
df
:
Cust_id Date Time
1 5/1/17 03:12:22
1 6/1/17 23:45:17
1 6/1/17 21:55:45
假设我的新数据点属于Cust\u id=1
,发生在02:33:10
中。还假设我想对该客户在+-3小时范围内发生的所有交易进行子集,而不管它们发生在哪一天。在我的例子中,我应该将前两行子集
我怎么做 这里有一种通过R基的方法
p1 <- '02:33:10'
d1$Time <- format(strptime(d1$Time, format="%H:%M:%S"), format = "%H:%M:%S")
i1 <- format(strptime(p1, format="%H:%M:%S")+3*60*60, format = "%H:%M:%S")
i2 <- format(strptime(p1, format="%H:%M:%S")-3*60*60, format = "%H:%M:%S")
d1[d1$Time >= i2 | d1$Time <= i1,]
# Cust_id Date Time
#1 1 5/1/17 03:12:22
#2 1 6/1/17 23:45:17
p1这里有一种通过R基的方法
p1 <- '02:33:10'
d1$Time <- format(strptime(d1$Time, format="%H:%M:%S"), format = "%H:%M:%S")
i1 <- format(strptime(p1, format="%H:%M:%S")+3*60*60, format = "%H:%M:%S")
i2 <- format(strptime(p1, format="%H:%M:%S")-3*60*60, format = "%H:%M:%S")
d1[d1$Time >= i2 | d1$Time <= i1,]
# Cust_id Date Time
#1 1 5/1/17 03:12:22
#2 1 6/1/17 23:45:17
p1