在某些条件下更改日期格式(组合列)

时间:2017-08-30 03:51:23

标签: r date time formatting

我是R的新手,我遇到了一个问题。我有一个CSV文件,我将日期和时间列组合在一起并采用特定格式。日期列的格式不一致(有两种格式)。我希望它们以特定格式在一个名为rtime的新列中展示在下面的例子中。

Date           Time           rtime       
01-Sep-15     11:33:40    2015-09-01 11:33:40
01-Sep-15     11:33:50    2015-09-01 11:33:50
04/24/16      00:00:10    2016-04-24 00:00:10
04/24/16      00:00:20    2016-04-24 00:00:20

我使用的代码可以单独使用01-Sep-15格式。感谢您提前提出建议。

1 个答案:

答案 0 :(得分:1)

我们可以使用parse_date_time lubridate尝试使用多种格式

library(tidyverse)
df1 %>% 
  mutate(rtime = parse_date_time(paste(Date, Time),
         c("%d-%m-%y %H:%M:%S", "%m/%d/%y %H:%M:%S")))
#       Date     Time               rtime
#1 01-Sep-15 11:33:40 2015-09-01 11:33:40
#2 01-Sep-15 11:33:50 2015-09-01 11:33:50
#3  04/24/16 00:00:10 2016-04-24 00:00:10
#4  04/24/16 00:00:20 2016-04-24 00:00:20

数据

df1 <- structure(list(Date = c("01-Sep-15", "01-Sep-15", "04/24/16", 
"04/24/16"), Time = c("11:33:40", "11:33:50", "00:00:10", "00:00:20"
 )), .Names = c("Date", "Time"), class = "data.frame", 
 row.names = c(NA, -4L))