【发布时间】:2021-10-30 03:44:13
【问题描述】:
我有一个使用 read.csv() 函数打开的 CSV 文件。
它有 3 列,Id、Time 和 Value。
时间列的格式如下:4/12/2016 7:21:00 AM
首先
我想要的是将其拆分为 Date 4/12/2016 和 Time 7:21:00
第二
将时间转换为 24 小时格式,而不是上午和下午。
如何做到这一点?
【问题讨论】:
我有一个使用 read.csv() 函数打开的 CSV 文件。
它有 3 列,Id、Time 和 Value。
时间列的格式如下:4/12/2016 7:21:00 AM
我想要的是将其拆分为 Date 4/12/2016 和 Time 7:21:00
将时间转换为 24 小时格式,而不是上午和下午。
如何做到这一点?
【问题讨论】:
如果要拆分,可以使用库中的 str_split()(stringr)
my_var <- str_split(string = my_df$Time, pattern = " ", n = 2, simplify = TRUE)
my_df$Date <- my_var[, 1] #In this column you'll find the Date
my_df$Time <- my_var[, 2] #In this column you'll find the Time
【讨论】:
lubridate 是你的朋友(连同hms 包)。首先将您的Time 变量转换为日期时间对象,然后使用辅助函数解析出日期和时间。 lubridate 在解析时使用 24 小时格式 (POSIXIt)。
my_df %>%
mutate(Time = mdy_hms(Time),
Date = as_date(Time),
Time = hms::as_hms(Time))
【讨论】: