【发布时间】:2015-11-04 06:52:05
【问题描述】:
我想使用 R 语言将我的数据(时间)转换为相应的时间间隔。我的数据框如下所示:
Date,Time,Lots,Status
"10-28-15","00:04:13","13-09","1"
"10-28-15","00:04:16","13-10","1"
"10-28-15","00:04:30","13-11","1"
"10-28-15","00:04:44","13-12","1"
"10-28-15","00:04:48","13-13","1"
"10-28-15","00:04:50","13-14","1"
"10-28-15","00:04:57","13-15","0"
"10-28-15","00:04:57","13-16","0"
"10-28-15","00:05:04","13-17","0"
"10-28-15","00:05:04","13-18","0"
我想输出这样的间隔(每小时/每 15 分钟有 4 个间隔)
Date,Time,Lots,Status,*interval*
"10-28-15","00:04:13","13-09","1",*"00:04:00"*
"10-28-15","00:04:16","13-10","1","00"04"15"
"10-28-15","00:04:30","13-11","1","00:04:30"
"10-28-15","00:04:44","13-12","1","00:04:45"
"10-28-15","00:04:48","13-13","1","00:04:45"
"10-28-15","00:04:50","13-14","1","00:04:45"
"10-28-15","00:04:57","13-15","0","00:04:45"
"10-28-15","00:04:57","13-16","0","00:04:45"
"10-28-15","00:05:04","13-17","0","00:05:00"
"10-28-15","00:05:04","13-18","0","00:05:00"
如果我使用for循环,比如
for(i=0,i<=60,i+15)
} for(if(i>i && i<=i+15)
}
我如何在 R 语言中做到这一点?谢谢大家的帮助,编程新手..
sample$int<- strptime(paste(sample$V1,sample$V2),format="%m-%d-%y %H:%M:%S")
min_V2<-trunc(min(strptime("28-10-2015 00:00:20", "%d-%m-%y %H:%M:%S")),"min")
max_V2<-trunc(max(strptime("28-10-2015 23:59:59", "%d-%m-%y %H:%M:%S")),"min") + 900
out <- cut(sample$int, breaks = seq(min_V2, max_V2, by = "15 min"))
【问题讨论】:
-
cut也可以与日期/时间对象一起使用。您的数据的str是什么? -
嗨@AnandaMahto。感谢回复。看过cut功能,但不知道怎么用。