我正在尝试将列解析为两个变量," date"和"时间"在R.我安装了lubridate
库。
当前的csv文件具有以下时间戳格式:yyyyMMdd hh:mm a
(例如'20170423 12:26 AM'
)并将列作为字符导入。
我试过这个但是它不能处理我当前的变量'Tran_Date'
(下面的代码不起作用):
transactions_file <- as_date('Tran_Date', "%Y%m%d %H:%M %p")
答案 0 :(得分:0)
我喜欢这样的基础R解决方案,
Tran_Date <- as.POSIXct("20170423 12:26 AM", format = "%Y%m%d %I:%M %p")
Tran_Date
#> [1] "2017-04-23 00:26:00 CEST"
transactions_file <- data.frame(
date = format(Tran_Date,"%m/%d/%Y"),
time = format(Tran_Date,"%H:%M")) # possibly add %p if you use %I
transactions_file
#> date time
#> 1 04/23/2017 00:26
lubridate
,
# install.packages(c("tidyverse"), dependencies = TRUE)
library(lubridate)
Tran_Date <- ymd_hm("20170423 12:26 AM")
然后你可以回收上面的内容,或者使用day(Tran_Date)
cbind
paste
和month(Tran_Date)
的某些组合,与paste(hour(Tran_Date), minute(Tran_Date), sep = ":")
类似,或者更可能是更聪明的东西。