【发布时间】:2021-05-20 05:33:05
【问题描述】:
我目前正在尝试将我的日期和时间数据分成单独的列。
我的数据格式为 dd/mm/yyyy hh:mm:ss a.m(或 p.m)。我需要做的是将日期和时间分成 2 个单独的列。然后将我的日期子集为日、月和年。我还想将时间转换为 24 小时制。我尝试过使用 strsplit、as.Date 和许多其他方法,但我仍然无法让我的数据达到我实际上可以用它做任何事情的程度。刚刚出现了无数错误。
为了便于理解,我的日期和时间列数据位于一个更大的数据集中。此列所需信息的标题是“Date_Time”。在此列中,示例日期为“17/09/2019 9:15:27 a.m.”。可以想象,尝试使用它是非常令人沮丧的。
我理想中想要的是……
日月年时间
2019年17月9日09:15:27
...同时仍保留原始的 Date_Time 列
【问题讨论】:
-
你可以使用
strsplit或者如果你想使用lubridate然后定义format。 -
我尝试过使用 strsplit 和 lubridate 并定义格式,但我对 R 相当陌生,所以我可能一直在错误地使用它
-
如果
s <- "17/09/2019 9:15:27 a.m.",那么day <- substr(s,1,2) , month <- substr(s,4,5)这是粗略但有效的方法。 -
好的,试一试,看看它现在是如何工作的。不过,我需要将其应用于整个数据集
-
如果您想坚持使用
strsplit,那么这可能会对strsplit(s, "/|\\s+")有所帮助。但是您必须将拆分的第一、第二和第三部分标记为要创建的列。