【问题标题】:How to merge date and time into one variable如何将日期和时间合并为一个变量
【发布时间】:2021-10-20 01:52:31
【问题描述】:

我想有一个日期变量和一个时间变量作为一个变量像这样2012-05-02 07:30

这段代码完成了这项工作,但我需要在数据框中获取一个新的组合变量,而这段代码仅在控制台中显示 as.POSIXct(paste(data$Date, data$Time), format="%Y-%m-%d %H:%M")

此代码应该结合时间和日期,但似乎没有这样做。在“组合”列中,仅显示日期 data$Combined = as.POSIXct(paste0(data$Date,data$Time))

这是数据

structure(list(Date = structure(c(17341, 18198, 17207, 17023, 
17508, 17406, 18157, 17931, 17936, 18344), class = "Date"), Time = c("08:40", 
"10:00", "22:10", "18:00", "08:00", "04:30", "20:00", "15:40", 
"11:00", "07:00")), row.names = c(NA, -10L), class = c("tbl_df", 
"tbl", "data.frame"))

【问题讨论】:

  • 你的例子不完整
  • 为列赋值。 data$dateTime <- as.POSIXct(paste(data$Date, data$Time), format="%Y-%m-%d %H:%M")

标签: r tidyverse lubridate


【解决方案1】:

我们可以使用 lubridate 包中的 ymd_hm 函数:

library(lubridate)

df$Date_time <- ymd_hm(paste0(df$Date, df$Time))
   Date       Time  Date_time          
   <date>     <chr> <dttm>             
 1 2017-06-24 08:40 2017-06-24 08:40:00
 2 2019-10-29 10:00 2019-10-29 10:00:00
 3 2017-02-10 22:10 2017-02-10 22:10:00
 4 2016-08-10 18:00 2016-08-10 18:00:00
 5 2017-12-08 08:00 2017-12-08 08:00:00
 6 2017-08-28 04:30 2017-08-28 04:30:00
 7 2019-09-18 20:00 2019-09-18 20:00:00
 8 2019-02-04 15:40 2019-02-04 15:40:00
 9 2019-02-09 11:00 2019-02-09 11:00:00
10 2020-03-23 07:00 2020-03-23 07:00:00

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多