我有一个包含日期和时间信息的文件作为字符串。我想将它转换为日期时间POSIXlt对象,并为此我在R中使用strftime()基函数。R中的字符串转换为日期时间 - 无法解释的行为
虽然命令正常工作时我通过它字符串,或者当我将它应用一个小当我将它应用于更大的片或整个数据帧时,它无法捕获小时。请看下面:
d = "2017-11-18 01:00:00"
t = strftime(d, format = "%Y-%m-%d %H:%M")
t
'2017-11-18 01:00'
head(data %>% dplyr::slice(1:1000) %>% mutate(DateTime1 = strftime(DateTime, format = "%Y-%m-%d %H:%M")))
DateTime Junction Vehicles ID DateTime1
2015-11-01 00:00:00 1 15 20151101001 2015-11-01 00:00
2015-11-01 01:00:00 1 13 20151101011 2015-11-01 01:00
2015-11-01 02:00:00 1 10 20151101021 2015-11-01 02:00
2015-11-01 03:00:00 1 7 20151101031 2015-11-01 03:00
2015-11-01 04:00:00 1 9 20151101041 2015-11-01 04:00
2015-11-01 05:00:00 1 6 20151101051 2015-11-01 05:00
head(data %>% mutate(DateTime1 = strftime(DateTime, format = "%Y-%m-%d %H:%M")))
DateTime Junction Vehicles ID DateTime1
2015-11-01 00:00:00 1 15 20151101001 2015-11-01 00:00
2015-11-01 01:00:00 1 13 20151101011 2015-11-01 00:00
2015-11-01 02:00:00 1 10 20151101021 2015-11-01 00:00
2015-11-01 03:00:00 1 7 20151101031 2015-11-01 00:00
2015-11-01 04:00:00 1 9 20151101041 2015-11-01 00:00
2015-11-01 05:00:00 1 6 20151101051 2015-11-01 00:00
这种反常行为是如何被解释的,我怎么能转换日期时间列整个数据集?
您的建议将不胜感激。
打印数据数据框中的行 – skrubber
使用'dput()'打印数据集的结构和内容。 –
您是否尝试过使用lubridate函数?例如:data%>%mutate(DateTime1 = lubridate :: ymd_hms(DateTime))。 –