合并日期和时间列是一种特殊格式

时间:2017-08-05 02:04:57

标签: r merge

我正在尝试一次更改我的csv文件。我使用下面的代码,但遇到了合并日期和时间列的问题。

这是我所拥有的一个例子:

Date         Time
11/4/2016  10:30:10
11/4/2016  10:30:10

我想要一个名为rtime的列,它具有以下格式的组合日期和时间:

这就是我想要的:

 Date         Time          rtime
11/4/2016  10:30:00    2016-11-04 10:30:00
11/4/2016  10:30:10    2016-11-04 10:30:10

我使用了以下代码:

cities.cleaned <- cities %>%
  rename(pm = `μg/m³`) %>%
  filter( !is.na(pm)) %>%
  mutate(rtime = paste(Date, Time),
        rtime = mdy_hm(rtime))

我收到了这条警告信息:

  

警告消息:所有格式都无法解析。找不到格式。

重命名和过滤工作正常,问题来自mutate部分。

当我使用view(cities.cleaned)查看它时,我看到了rtime列,但列中没有任何内容,它都是NA。

1 个答案:

答案 0 :(得分:0)

问题是你正在使用mdy_hm()并且你有时间使用格式HMS,这就是它无法解析的原因。尝试:

df = read.table(text ="Date         Time
11/4/2016  10:30:00
11/4/2016  10:30:10", header = T)
library(lubridate)
df$rtime = mdy_hms(paste(df$Date,df$Time))

       Date     Time               rtime
1 11/4/2016 10:30:10 2016-11-04 10:30:00
2 11/4/2016 10:30:10 2016-11-04 10:30:10

或在基地R:

df$rtime = strptime(paste(df$Date,df$Time), format = "%m/%d/%Y %H:%M:%S", tz = "UTC")

PS:1-确保您的日期格式为月/日而非日/月。 2- BTW,您提供的不会产生所需的输出。