【发布时间】:2018-11-16 03:45:49
【问题描述】:
我有一个数据集,其中包含在退潮期间珊瑚礁暴露的开始和结束时间。我正在尝试使用 lubridate::interval 函数创建一个名为“interval”的新列。我有大约 400 行数据。
https://github.com/LCRoysterproject/bird/blob/STEVEN-L--DEVELOPMENT/data/birdcamtides.csv
Site Start.Date.Time End.Date.Time
1 LCOR_1 2017-11-08 13:20:00 2017-11-08 15:00:00 2 LCOR_1 2017-11-09 08:40:00 2017-11-09 15:45:00 3 LCOR_1 2017-11-10 09:20:00 2017-11-10 18:30:00 4 LCOR_1 2017-11-11 10:00:00 2017-11-11 18:55:00 5 LCOR_1 2017-11-12 12:05:00 2017-11-12 18:30:00 6 LCOR_1 2017-11-13 13:40:00 2017-11-13 18:55:00 7 LCOR_1 2017-11-14 07:35:00 2017-11-14 09:10:00 8 LCOR_1 2017-11-14 14:45:00 2017-11-14 18:55:00 9 LCOR_1 2017-11-15 07:30:00 2017-11-15 10:30:00 10 LCOR_1 2017-11-15 15:50:00 2017-11-15 18:55:00
library(lubridate)
tides <- read.csv("data/birdcamtides.csv", header = T)
tides$Start.Date.Time <- paste(tides$Date, tides$Start.Low.Tide)
tides$End.Date.Time <- paste(tides$Date, tides$End.Low.Tide)
tides$Start.Date.Time <- mdy_hm(tides$Start.Date.Time, tz = 'EST')
tides$End.Date.Time <- mdy_hm(tides$End.Date.Time, tz = 'EST')
tides$interval <- interval(tides$Start.Low.Tides,
tides$End.Low.Tide)
我不断收到错误 “as.POSIXlt.character(as.character(x), ...) 中的错误: 字符串不是标准的明确格式”
我不明白我是如何得到这个错误的,因为我所有的日期都是 POSIX.ct 格式。我的问题有所不同,因为我正在尝试编写一个函数或其他东西来创建一个新列,其中每个相应的开始和结束时间都有一个间隔。
【问题讨论】:
-
请为我们提供一个使用 dput() 的可重现示例,否则很难为您提供帮助
标签: r datetime intervals lubridate