lubridate和zoo包中意外的跳跃/奇怪(添加了可重现的示例)

时间:2015-03-29 18:45:55

标签: r zoo lubridate

######润滑油中的缺陷&动物园 ? ######
dataframex <- as.data.frame(rnorm(420,0,1))
dataframex
names(dataframex) <- c("value")

head(dataframex)
library(lubridate); library(zoo) # To assign months to rows of the dataframe
dataframex
row.names(dataframex) <- as.yearmon(seq(ymd('1980-01-01'), by = '1 month', length.out=(420)))
dataframex

在某些时间点出现意外的跳跃/怪异,我无法弄清楚:

            value
Oca 1980 -1.112455234
Şub 1980 -0.370769140
.....................
Mar 1995  0.219924804
Nis 1995 -1.46725                value # oddity "value" occurred
Oca 1980 1995 -0.158754605             # unexpected jump from Apr1995 to Jan1980
Tem 1995  1.464587312
......................
Eyl 2010 -0.1995 -0.158754605
Tem 1995  1.464587312           # unexpected jump from Sept2010 to July1995
Ağu 1995 -0.                      # oddity again
Ara 2010  0.277914132

所以,有时&#34;我&#34;在年份标签中错误地打印,有时&#34;我&#34;在右侧的值标签上打印。

我采取了哪些措施来解决问题:
我怀疑它可能是Windows区域设置问题。我将TR-TR改为EN-US。同样奇怪的事情发生了。 我还将区域设置更改为&#34;。&#34;作为小数点分隔符,也尝试&#34;,&#34;作为小数点。 错误保持不变!

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

我最终发现错误是由于Revolution R程序中存在问题的本地化语言文件。

分步解决方案:
1。更改R本地化语言以解决奇怪/跳跃问题:
“工具 - 选项 - 环境 - 帮助 - 国际设置 - 语言:英语”
2。重新启动R,以便R

中存在新环境

然后,完全应用上面相同的代码来检查奇数/跳转问题是否已解决。如果解决了,那就OK。

如果未解决奇怪/跳跃问题,请转到步骤3和4。

3. 在Windows控制面板中将区域设置从TR-TR更改为EN-US。
4. 改变革命中的国际环境R:
“工具 - 选项 - 环境 - 帮助 - 国际设置 - 语言:与Microsoft Windows相同”
5. 重新启动R,以便R

中存在新环境

然后,完全应用上面相同的代码。这次没有奇怪/没有跳跃/没有“i”发生。

PS: Revolution R团队应该纠正相关土耳其语本地化语言文件中的语言问题。