【问题标题】:How do I split my date time column so that it recognises the 24 hour clock in r?如何拆分我的日期时间列,以便它识别 r 中的 24 小时制?
【发布时间】:2020-07-30 06:06:54
【问题描述】:

我正在尝试拆分包含日期和时间的列以分隔时间、日、月、年、星期几、小时和分钟列。我可以拆分列,但唯一的问题是 AM 和 PM 时间没有分开,并且唯一显示的时间是 1 - 12,而不是拆分 AM 和 PM 小时,即使原始数据集使用 24 小时时间。我想知道是否有人知道这样做的方法?

我用来拆分列的代码是:

taxijuly$Trip.Start.Timestamp <- as.POSIXct(taxijuly$Trip.Start.Timestamp, format = "%m/%d/%Y %H:%M:%S")

taxijuly$Time <- format(as.POSIXct(taxijuly$Trip.Start.Timestamp, format = "%m/%d/%Y %H:%M:%S"), format="%H:%M:%S")

taxijuly$Trip.Start.Timestamp <- ymd_hms(taxijuly$Trip.Start.Timestamp)

taxijuly$day <- factor(day(taxijuly$Trip.Start.Timestamp))

taxijuly$month <- factor(month(taxijuly$Trip.Start.Timestamp, label = TRUE))

taxijuly$year <- factor(year(taxijuly$Trip.Start.Timestamp))

taxijuly$dayofweek <- factor(wday(taxijuly$Trip.Start.Timestamp, label = TRUE))

taxijuly$hour <- factor(hour(hms(taxijuly$Time)))

taxijuly$minute <- factor(minute(hms(taxijuly$Time)))

taxijuly$second <- factor(second(hms(taxijuly$Time)))

我尝试拆分的列中的数据如下所示:

Trip Start Timestamp

09/03/2019 00:00
09/03/2019 00:00
09/03/2019 00:00
09/03/2019 00:00

任何帮助将不胜感激。

【问题讨论】:

    标签: r date time split


    【解决方案1】:

    一旦我们转换为'Datetime',就不需要再做转换了。由于我们使用的是lubridate,所以可以使用包中的便捷函数来提取组件

    library(lubridate)
    library(dplyr)
    out <- taxijuly %>%
             mutate(Trip.Start.Timestamp = mdy_hms(Trip.Start.Timestamp), 
              day = day(Trip.Start.Timestamp),
              month = month(Trip.Start.Timestamp), 
              year = year(Trip.Start.Timestamp),
              dayofweek = wday(Trip.Start.Timestamp),
              minute = minute(Trip.Start.Timestamp),
              second = second(Trip.Start.Timestamp))
    

    数据

    taxijuly <- structure(list(Trip.Start.Timestamp = c("09/03/2019 00:00", "09/03/2019 00:00", 
    "09/03/2019 00:00", "09/03/2019 00:00")), class = "data.frame", row.names = c(NA, 
    -4L))
    

    【讨论】:

      猜你喜欢
      • 2017-03-22
      • 2016-09-01
      • 1970-01-01
      • 2021-10-10
      • 2020-10-18
      • 1970-01-01
      • 2021-10-29
      • 2011-11-08
      • 1970-01-01
      相关资源
      最近更新 更多