【发布时间】:2019-11-23 04:56:52
【问题描述】:
我有一个 as.POSIXct 格式的日期和时间列,例如“2019-02-23 12:45”。我想确定时间是 AM 还是 PM,并将 AM 或 PM 添加到日期和时间?
以下代码为表示创建了一个示例数据集:
ID <- data.frame(c(1,2,3,4))
DATE <- data.frame(as.POSIXct(c("2019-02-25 07:30", "2019-03-25 14:30", "2019-03-25 12:00", "2019-03-25 00:00"),format="%Y-%m-%d %H:%M"))
DATEAMPM <- data.frame(c("2019-02-25 07:30 AM", "2019-03-25 14:30 PM", "2019-03-25 12:00 PM", "2019-03-25 00:00 AM"))
AMPMFLAG <- data.frame(c(0,1,1,0))
test <- cbind(ID,DATE,DATEAMPM,AMPMFLAG)
names(test) <- c("PID","DATE","DATEAMPM","AMPMFLAG")
想要创建如上面代码所示的 DATEAMPM 和 AMPMFLAG 列。
我已经看到通过指定如下参数将“2019-09-23 08:45 PM”形式的字符串转换为 2019-09-23 20:45”,但不要反过来合并 AM /PM 进入日期时间
as.POSIXct(strptime(,format="%Y-%m-%d %I:%M %p"))
感谢您的帮助
【问题讨论】:
标签: r