将我的日期转换为 POSIXct class

Converting my dates into a POSIXct class

我目前正在研究 adehabitatLT 软件包。 我已将 date_time 列放入字符中并将其命名为 da:

da<-as.character(dat$date_time)

头(大)

[1] "7/08/2015 0:22" "7/08/2015 0:52" "7/08/2015 1:22" "7/08/2015 1:52" "7/08/2015 2:56" "7/08/2015 3:26""=12=]

如您所见,我的 date_time 输入有点非传统,我认为这是错误发生的地方,因为当我创建 class POSIXct:

da<-as.POSIXct(strptime(as.character(dat$date_time),"%d/%m/%y% H:%M:%S") )

它创建了 class 但我的所有值都为 NA:

head(da) [1] NA NA NA NA NA NA

我的结束 objective 是创建 class ltraj 的对象(但不仅包含日期,还包含时间)。

有什么想法吗?

亲切的问候,

山姆

da<-as.POSIXct(strptime(as.character(locs$Date),"%y%m%d"))

format应该修改为

as.POSIXct(strptime(da, "%d/%m/%Y %H:%M"))

或者如果月在前,日在后,则将其更改为"%m/%d/%Y %H:%M"

在解析棘手的 date/time 格式时,使用 Garrett Grolemund 和 Hadley Wickham 的 lubridate 包可能会有用。

对于您的情况,只需执行

require(lubridate)
a <- dmy_hm(da)

天或月或小时等的分隔符和位数会自动解析。

Find more info here