更新一段时间的原始日期

时间:2017-10-25 02:25:38

标签: r date

是否可以根据另一列中的日期更新时间的起源日期?我有2列,一列有10行日期,另一列有10行Times,它们附有日期。我最初使用as.POSIX1t从角色转换了时间,并尝试设置origin=df$Date,但这不起作用。这个日期刚刚出现在今天的日期。如何将Time的原始日期重置为与Date列相同的日期?或者,是否可以只删除附加到我的时间的日期,然后创建一个附加时间和日期列的新列? 我的数据:

       Date                Time
 1999-05-10 2017-10-25 07:50:00
 1999-05-11 2017-10-25 15:30:00
 1999-05-12 2017-10-25 18:00:00
 1999-05-13 2017-10-25 23:05:00
 1999-05-14 2017-10-25 19:30:00
 1999-05-15 2017-10-25 19:00:00
 1999-05-16 2017-10-25 16:10:00
 1999-05-17 2017-10-25 10:00:00
 1999-05-18 2017-10-25 02:30:00
 1999-05-19 2017-10-25 22:00:00
 1999-05-20 2017-10-25 21:50:00

str()数据:

'data.frame':   11 obs. of  2 variables:
 $ Date: Date, format: "1999-05-10" "1999-05-11" "1999-05-12" "1999-05-13" ...
 $ Time: POSIXlt, format: "2017-10-25 07:50:00" "2017-10-25 15:30:00" "2017-10-25 18:00:00" "2017-10-25 23:05:00" ...

1 个答案:

答案 0 :(得分:1)

假设您的起源日期和时间是字符数据类型:

df1 <- data.frame(date=c("2017-01-05"), time=c("2017-05-05 10:05:06"), stringsAsFactors = F)
timing <- strsplit(df1$time, split=" ")
timing <- sapply(timing, '[[', 2)
df1$time <- timing
df1$datetime <- paste(df1$date, df1$time)
df1$datetime <- as.POSIXct(df1$datetime)

需要查看您的实际数据才能获得更准确的答案。