首页 > 解决方案 > 在 R 中解析日期时间的“m/%d/%Y %H:%M”形式

问题描述

给定如下数据框:

df <- structure(list(time = structure(1:10, .Label = c("1/1/2001 0:00", 
"1/1/2001 1:00", "1/1/2001 2:00", "1/1/2001 3:00", "1/1/2001 4:00", 
"1/1/2001 5:00", "1/1/2001 6:00", "1/1/2001 7:00", "1/1/2001 8:00", 
"1/1/2001 9:00"), class = "factor"), values = c(19.94, 19.94, 
12.92, 15.08, 12.02, 12.02, 12.02, 12.92, 12.92, 8.96)), class = "data.frame", row.names = c(NA, 
-10L))

对于time列,它表示:m/%d/%Y %H:%M,但是当我用以下代码解析它们时,两个代码都返回timeNA.

df$time <- strptime(df$time, format="m/%d/%Y %H:%M")
df$time <- as.Date(df$time, format="%m/%d/%Y %H:%M")
df$time

出去:

[1] NA NA NA NA NA NA NA NA NA NA NA

最后,我需要将time列拆分为yearmonthday和.hourminutes

有人可以帮忙吗?谢谢。

标签: rlubridate

解决方案


您只是%在格式字符串的开头忘记了 a ,这应该可以:

strptime(df$time, format="%m/%d/%Y %H:%M")

推荐阅读