【问题标题】:Unexpected jumps/oddities in lubridate and zoo package (reproducible example added)lubridate 和 zoo 包中的意外跳转/异常(添加了可重现的示例)
【发布时间】:2015-03-29 18:45:54
【问题描述】:
###### 润滑油和动物园中的错误? ######
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

因此,有时“i”会错误地打印在年份标签中,有时“i”会打印在右侧的值标签中。

我做了什么来解决这个问题:
我怀疑这可能是 Windows 区域设置问题。我将 TR-TR 更改为 EN-US。同样的怪事再次发生。 我还将区域设置更改为具有“。”作为小数分隔符,也尝试将“,”作为小数点。 错误依旧!

任何帮助将不胜感激。

【问题讨论】:

    标签: r zoo lubridate


    【解决方案1】:

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

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

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

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

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

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

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

    【讨论】:

    • SOF 系统说我要等待 2 天才能接受它作为答案。
    • 您应该向他们报告这一点,而不是建议他们将其作为您的答案的附言进行修复。
    猜你喜欢
    • 1970-01-01
    • 2012-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多