我承认存在多个类似的问题,但是到目前为止,我仍然找不到适合我的答案,可能是因为AM / PM。我不想删除后者。
我有一列Trip Start Timestamp
,看起来像
12/01/2019 12:30:00 AM
12/01/2019 12:31:00 AM
12/01/2019 12:32:00 AM
我正在尝试删除AM / PM并分成两个变量Start date
和Start time
。
理想输出:
Start date Start time
12/01/2019 12:30:00 AM
我想将其作为时间序列阅读。
到目前为止我最好的猜测
Date <- format(as.POSIXct(strptime(taxi_2020$`Trip Start Timestamp`, "%d/%m/%Y %H:%M:S")), format = "%m/%d/%Y")
Time <- format(as.POSIXct(strptime(taxi_2020$`Trip Start Timestamp`, "%d/%m/%Y %H:%M:S")), format = "%H:%M:S")
head(Date)
head(Time)
给我
[1] NA NA NA NA NA NA
[1] NA NA NA NA NA NA
更新资料
看起来带有时间和日期的列的格式有些问题。
dput
可以在这里找到
到目前为止,@ Ronak Shah的解决方案有效。从技术上讲,我终于分离了数据,但可能发现了UTF-8的另一个问题
由于您使用标记了此代码tidyverse
,因此以下是一种简单的方法lubridate
:
library(dplyr)
library(lubridate)
data %>%
mutate(Date = as.Date(mdy_hms(`Trip Start Timestamp`)),
Time = format(mdy_hms(`Trip Start Timestamp`), "%I:%M:%S %p"))
# Trip Start Timestamp Date Time
#1 12/01/2019 12:30:00 AM 2019-12-01 12:30:00 AM
#2 12/01/2019 12:31:00 AM 2019-12-01 12:31:00 AM
#3 12/01/2019 12:32:00 AM 2019-12-01 12:32:00 AM
示例数据
data <- structure(list(`Trip Start Timestamp` = c("12/01/2019 12:30:00 AM",
"12/01/2019 12:31:00 AM", "12/01/2019 12:32:00 AM")), class = "data.frame", row.names = c(NA,
-3L))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句