添加1分钟以复制R中的夏令时
我在R中有一个数据帧,如下所示: dputsample,control=NULL:添加1分钟以复制R中的夏令时,r,dataframe,dst,R,Dataframe,Dst,我在R中有一个数据帧,如下所示: dputsample,control=NULL: list(date_time = c(1446339600, 1446343200, 1446343200, 1446346800, 1446350400), id = c(1, 1, 1, 1, 1), test = c("0.9", "0.64", "0.7", "0.72", "0.88")) 实际的数据帧有1217048行,其中有许多重复的日期,但它是按日期和时间排序的,然后按id排序,类似于我提供
list(date_time = c(1446339600, 1446343200, 1446343200, 1446346800,
1446350400), id = c(1, 1, 1, 1, 1), test = c("0.9", "0.64", "0.7",
"0.72", "0.88"))
实际的数据帧有1217048行,其中有许多重复的日期,但它是按日期和时间排序的,然后按id排序,类似于我提供的示例。我试图通过增加1分钟这样每隔一次看到“2015-11-01 02:00:00”就会变成“2015-11-01 02:01:00”,从而使第二次出现的夏令时有所不同。我需要它是不同的,这样我就可以查询数据库中的小时,而不必对两个小时的数据求和。这样做的最佳方式是什么?我建议不要为了方便数据库聚合而更改数据。如果您需要它们是不同的,那么也许您应该为每一行添加一个唯一的id,而不是修改数据。我没想过。
m = data.frame(date_time = c(1446339600, 1446343200, 1446343200, 1446346800,
1446350400), id = c(1, 1, 1, 1, 1), test = c("0.9", "0.64", "0.7",
"0.72", "0.88"))
m$date_time = as.POSIXct((m$date_time + ave(m$date_time, m$date_time, FUN = seq_along) - 1) * 60, origin = "1970-01-01")
m
# date_time id test
#1 4719-12-18 06:00:00 1 0.9
#2 4719-12-20 18:00:00 1 0.64
#3 4719-12-20 18:01:00 1 0.7
#4 4719-12-23 06:00:00 1 0.72
#5 4719-12-25 18:00:00 1 0.88