我想计算数据帧的2个日期之间的持续时间,该数据帧的格式如下:
开始日期时间
2016年1月22日下午04.56.14.325.00000
结束日期时间
2016年1月23日上午05.56.14.325.00000
我运行以下命令:
jm16$diff <- difftime(strptime(jm16$Start_date_time, format = "%d-%b-%Y %H.%M.%S"),
strptime(jm16$End_date_time, format = "%d-%b-%Y %H.%M%S"),
units="mins")
然而,最终jm16$diff的整个字段都是"NA"。有人能帮我告诉我哪里出错了吗?
感谢
Han
您需要使用的公式是:
jm16$diff <- difftime(strptime(jm16$End_date_time, format="%d-%b-%Y %I:%M.%OS %p"),
strptime(jm16$Start_date_time, format="%d-%b-%Y %I:%M.%OS %p"),
units="mins")
这纠正了以下问题:
difftime()
取difftime(end_time, start_time)
,而不是相反%I
处理1-12中的小时,而%H
处理0-23- 字符串中的小时后面跟着冒号,而不是句点
- 秒有一个小数部分,所以
%OS
,而不是%S
- 上午/下午结束时接收
" %p"