Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
添加1分钟以复制R中的夏令时_R_Dataframe_Dst - Fatal编程技术网

添加1分钟以复制R中的夏令时

添加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排序,类似于我提供

我在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排序,类似于我提供的示例。我试图通过增加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