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

时间:2017-04-18 21:05:44

标签: r dataframe dst

我在R中有一个数据框,如下所示:

my data frame

dput(sample,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"))

实际数据框有1,217,048行,有许多重复日期,但它按date_time排序,然后按类似于我提供的示例的id排序。我试图让第二次夏令时出现不同的做法,比如添加1分钟,这样每隔一段时间你看到'2015-11-01 02:00:00'就会变成'2015-11-01 2时01分00' 秒。我需要它是不同的,以便我可以查询数据库中的小时,而不会将两小时的数据相加。做这样的事情最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

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