【发布时间】:2021-02-24 15:24:10
【问题描述】:
我正在处理事件数据。数据集有一个变量(IncidentDateTime)用于事件的日期和时间(写为:“1/2/21 0:21”),变量类型是字符(chr)。有没有办法让我创建一个只有每个事件的时间而不是日期和时间的新变量?我的最终目标是重写数据,使时间为 24 小时制。
【问题讨论】:
-
请出示您的代码
我正在处理事件数据。数据集有一个变量(IncidentDateTime)用于事件的日期和时间(写为:“1/2/21 0:21”),变量类型是字符(chr)。有没有办法让我创建一个只有每个事件的时间而不是日期和时间的新变量?我的最终目标是重写数据,使时间为 24 小时制。
【问题讨论】:
如果日期总是用“”分开时间:
library(stringr)
df <- as.data.frame(str_split_fixed(df, " ",2))
colnames(df) <- c("Date", "Time")
【讨论】:
这行代码可以解决你的问题
(dObj <-as.POSIXct('1/2/10 0:21',format='%m/%d/%y %M:%S')
[1] "2010-01-02 00:00:21 +04"
如果您希望单独提取每个日期部分,以下 lubridate 包中的函数将为您提供帮助。
minute(dObj)
second(dObj)
month(dObj)
【讨论】: