我有以下数据框,并试图计算向量中日期之间的分钟差异,并将其存储到一个新数据中。
Reportnumber OpenedDate
00001 22/1/2016 5:52:12 PM
00002 20/1/2016 4:15:06 PM
00003 18/1/2016 1:09:46 PM
00004 15/1/2016 10:47:40 AM
00005 15/1/2016 10:32:37 AM
00006 14/1/2016 2:13:48 PM
00007 14/1/2016 11:12:29 AM
00008 14/1/2016 10:17:30 AM
00009 12/1/2016 2:25:03 PM
在使用difftime
差异之前,我试图将时间转换为24小时格式并去除AM / PM,我正在执行以下操作:
dataset$convertedDate <- as.POSIXct('dataset$OpenedDate', format="%d/%b/%Y %H:%M:%s")
我在控制台中没有收到错误,但dataset$convertedDate
矢量未更新。
这是解决问题的正确方法吗?
更新:
准备好洗脸。
仔细查看您正在拨打的电话:
dataset$convertedDate <- as.POSIXct('dataset$OpenedDate', format="%d/%b/%Y %H:%M:%s")
您正在传递'dataset$OpenedDate'
而不是dataset$OpenedDate
。换句话说,您实际上是在向as.POSIXct()
!中传递文本字符串。我验证了将字符串传递给as.POSIXct()
确实会返回NA
,这就是您所看到的。
您还缺少PM
(%p
)的格式参数。请尝试以下操作,假定时区为UTC
(您可以更改以适合您的需求):
as.POSIXct(df$OpenedDate, format="%d/%m/%Y %I:%M:%S %p", tz="UTC")
输出:
[1] "2016-01-22 17:52:12 UTC" "2016-01-20 16:15:06 UTC"
数据:
df <- data.frame(Reportnumber=c('00001', '00002'),
OpenedDate=c('22/1/2016 5:52:12 PM', '20/1/2016 4:15:06 PM'),
ClosedDate=c('25/1/2016 1:35:05 PM', '20/1/2016 4:30:06 PM'))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句