2
我有2014-01-31 15:33:50格式的全天数据帧。如何将R中的数据帧分成30分钟的桶
我想写一个逻辑,把整天分解成30分钟的桶,以便我可以运行一些统计测试。
能否请你建议我如何能够通过R.做
我有2014-01-31 15:33:50格式的全天数据帧。如何将R中的数据帧分成30分钟的桶
我想写一个逻辑,把整天分解成30分钟的桶,以便我可以运行一些统计测试。
能否请你建议我如何能够通过R.做
试着这么做:
start <- as.POSIXct("2012-01-15")
end <- start + as.difftime(1, units="mins")
Time.DF <- data.frame(Time = seq(from=start, by=15, to=end),
Info = 1:5)
# This is one way to do it
Time.DF$Bins <- with(Time.DF, {cut(
Time, breaks = seq(from=min(Time), by=30, to=max(Time + 30)), labels = F)})
# Time Info Bins
# 1 2012-01-15 00:00:00 1 1
# 2 2012-01-15 00:00:15 2 1
# 3 2012-01-15 00:00:30 3 2
# 4 2012-01-15 00:00:45 4 2
# 5 2012-01-15 00:01:00 5 3
# This is a second way to do it
Time.DF$Bins2 <- with(Time.DF, {as.numeric(cut(
Time, breaks = seq(from=min(Time), by=30, to=max(Time + 30))))})
# Time Info Bins Bins2
# 1 2012-01-15 00:00:00 1 1 1
# 2 2012-01-15 00:00:15 2 1 1
# 3 2012-01-15 00:00:30 3 2 2
# 4 2012-01-15 00:00:45 4 2 2
# 5 2012-01-15 00:01:00 5 3 3
感谢回答杰克,我基本上要垃圾箱被编号为1,2,3基于30分钟。 – user40465
@ user40465当您提出这样的要求时,R会带着愉悦的笑容。我已经展示了两种不同的方式来实现这一点,上面贴出来。 –
谢谢杰克帮助我。 – user40465