lubridate 和 zoo 包中出现意外 jumps/oddities(添加了可重现的示例)
Unexpected jumps/oddities in lubridate and zoo package (reproducible example added)
###### 润滑和动物园中的错误? ######
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
在某些我无法弄清楚的时间点出现意外 jumps/oddities:
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。同样的怪事又发生了。
我还将区域设置更改为“。”作为小数点分隔符,也尝试将“,”作为小数点。
错误仍然存在!
任何帮助将不胜感激。
我最终发现错误是由于 Revolution R 程序中的本地化语言文件有问题。
分步解决方案:
1.更改R本地化语言解决oddity/jump问题:
"Tools - Options - Environment - Help - International Settings - Language:English"
2. 重新启动 R 以便 R 中存在新环境
然后,应用与上面完全相同的代码来检查 oddity/jump 问题是否已解决。解决了就OK了。
如果oddity/jump问题没有解决,转到步骤3和4。
3. 在 Windows.
的控制面板中将区域设置从 TR-TR 更改为 EN-US
4. 改变革命国际背景 R:
"Tools - Options - Environment - Help - International Settings - Language:Same as Microsoft Windows"
5. 重新启动 R 以便 R 中存在新环境
然后,应用与上面完全相同的代码。这次没有oddity/nojump/no"i"发生。
PS: Revolution R 团队应更正相关土耳其语本地化语言文件中的此语言问题。
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
在某些我无法弄清楚的时间点出现意外 jumps/oddities:
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。同样的怪事又发生了。
我还将区域设置更改为“。”作为小数点分隔符,也尝试将“,”作为小数点。
错误仍然存在!
任何帮助将不胜感激。
我最终发现错误是由于 Revolution R 程序中的本地化语言文件有问题。
分步解决方案:
1.更改R本地化语言解决oddity/jump问题:
"Tools - Options - Environment - Help - International Settings - Language:English"
2. 重新启动 R 以便 R 中存在新环境
然后,应用与上面完全相同的代码来检查 oddity/jump 问题是否已解决。解决了就OK了。
如果oddity/jump问题没有解决,转到步骤3和4。
3. 在 Windows.
的控制面板中将区域设置从 TR-TR 更改为 EN-US
4. 改变革命国际背景 R:
"Tools - Options - Environment - Help - International Settings - Language:Same as Microsoft Windows"
5. 重新启动 R 以便 R 中存在新环境
然后,应用与上面完全相同的代码。这次没有oddity/nojump/no"i"发生。
PS: Revolution R 团队应更正相关土耳其语本地化语言文件中的此语言问题。