使用as.yearmon(zoo)将字符值转换为月度数据时出错

时间:2012-10-30 14:20:29

标签: r zoo

当月份的值为“Jan”或“January”等文本格式时,会出现问题。 例如,以下行

as.yearmon("Jan-2000", "%b-%Y")

返回错误:

Error in charToDate(x) : > character string is not in a standard unambiguous format

这里出了什么问题?

sessionInfo():

R版本2.15.1(2012-06-22) 平台:x86_64-pc-mingw32 / x64(64位)

区域设置: [1] LC_COLLATE = Russian_Russia.1251 LC_CTYPE = Russian_Russia.1251 LC_MONETARY = Russian_Russia.1251 [4] LC_NUMERIC = C LC_TIME = Russian_Russia.1251

附加基础包: [1] grid stats graphics grDevices utils数据集方法库

其他附件包:  [1] RODBC_1.3-6 latticeExtra_0.6-24 lattice_0.20-10 gplots_2.11.0 MASS_7.3-22
 [6] KernSmooth_2.23-8 caTools_1.13 bitops_1.0-4.1 gdata_2.12.0 gtools_2.7.0
[11] RColorBrewer_1.0-5 xts_0.8-6 zoo_1.7-8

通过命名空间加载(而不是附加): [1] tools_2.15.1

1 个答案:

答案 0 :(得分:2)

问题可能与LC_TIME语言环境设置有关(感谢Joshua要求提供解决方案的sessionInfo()输出)。 所以改变时间区域有帮助。

loc <- Sys.getlocale("LC_TIME") #save current locale for future restore
Sys.setlocale("LC_TIME", "C")
as.yearmon("Jan-2000", "%b-%Y")

结果是

  

[1]“2000年1月”