2012-10-30 66 views
0

將字符值轉換爲月數據時的錯誤月份的值以「Jan」或「January」等文本形式出現時會出現問題。 例如,下面的行使用as.yearmon(動物園)

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

返回一個錯誤:

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

什麼錯嗎?

sessionInfo():

ř版本2.15.1(2012-06-22) 平臺:x86_64的-PC-的mingw32/64(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]格統計圖形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

+0

Works爲我與R-2.15.1和zoo_1.7-7。請將'sessionInfo()'的輸出添加到您的問題中。 –

回答

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] "Jan 2000"