creating inteval object in r using lubridate package [duplicate]

时光毁灭记忆、已成空白 提交于 2019-12-14 03:32:29

问题


hi i have data from uber :

about pick ups in NYC . im trying to add a column to the raw data, that indicates for each row, for which time interval (which is represented by a single timepoint at the beginning of thetime interval) it belongs.

i want to Create a vector containing all relevant timepoints (i.e. every 15 minutes Use int_diff function from lubridate package on this vector to create an interval object. Run a loop on all the time points in the raw data and for each data point; indicate to which interval (which is represented by a single timepoint at the beginning of the time interval) it belongs.

i tried looking for explanations how to use the int_diff function but i dont understand how my vector should look and how the syntax of int_diff works tanks for the help :)


回答1:


Is this what you have in mind?

start <- mdy_hm('4/11/2014 0:00') # start of the period
end <- mdy_hm('5/12/2015 0:00') # end
time_seq <- seq(from = start, to = end, by = '15 mins') # sequence by 15 minutes

times <- mdy_hm(c('4/11/2014 0:12', '4/11/2014 1:24')) # times to find intervals for
dat <- data.frame(times)

dat$intervals <- cut(times, breaks = time_seq) # assign each time to an interval

intervals_cols <- model.matrix(~ - + intervals, dat) # turn this into a set of columns, one for each interval, with a 1 indicating that this observation falls into the column


来源:https://stackoverflow.com/questions/54066057/creating-inteval-object-in-r-using-lubridate-package

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!