我在使用函数strptime()时遇到了一些意想不到的事情.我所拥有的日期格式包括"1/22/2013 11:00:00 PM".我使用的格式是"%m /%d /%Y%I:%M:%S%p".
代码如下.
strptime("1/22/2013 11:00:00 p.m",format="%m/%d/%Y %I:%M:%S %p")
[1] NA
Run Code Online (Sandbox Code Playgroud)
但是,如果我使用
strptime("1/22/2013 11:00:00 pm",format="%m/%d/%Y %I:%M:%S %p")
[1] "2013-01-22 23:00:00"
Run Code Online (Sandbox Code Playgroud)
我得到了适当的结果.
因此,该特征缺乏检测pm及其变化(例如pm等)以代替PM或pm.这是R中的错误吗?
RI的版本在Windows 7 32位上使用R.14.2
Pau*_*tra 10
这不是错误,但是strptime以标准化方式预期信息.%p是:
区域设置中的AM/PM指示符.与'%I'结合使用而不与'%H'结合使用.某些语言环境中的空字符串.
在您的语言环境中,这被定义为AM/am和PM/pm.R是一种形式语言,你需要遵守它所规定的规则.如果你定义一个水平的因素flavor,color,taste,你不能指望能够使用colour和flavour作为的方式来引用这个因素.尽管你们似乎很明显这些概念代表相同的概念,但R是一种没有人类灵活性的形式语言.
library(lubridate)
mdy_hms("01/22/2013 11:00:00 PM")
Run Code Online (Sandbox Code Playgroud)
结果:
[1] "2013-01-22 11:00:00 UTC"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11990 次 |
| 最近记录: |