【问题标题】:"dimnames_zoo" not resolved from current namespace (xts)“dimnames_zoo”未从当前命名空间 (xts) 中解析
【发布时间】:2017-02-02 10:48:59
【问题描述】:

我编写了一个 R 脚本,它从 Internet 下载股票价格并定期更新我的数据库。该脚本使用 xts 包等。 我每晚自动运行它(从mac)。它工作了大约6个月。最近它停止工作并在任何 xts 调用中报告以下错误:

“dimnames_zoo”未从当前命名空间 (xts) 中解析

奇怪的是,如果我手动打开 R 并从那里运行脚本,它可以完美运行而没有错误。我安装了最新版本的 R (3.3.2) 并更新了所有软件包,希望这可以修复错误。但是,自动脚本仍然不起作用。

当脚本自动运行(并产生错误)时,SessionInfo() 报告如下:

SessionInfo:R version 3.3.2 (2016-10-31)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: macOS Sierra 10.12.2

locale:
[1] C

attached base packages:
[1] methods   stats     graphics  grDevices utils     datasets  base     

other attached packages:
[1] quantmod_0.4-7                TTR_0.23-1                   
[3] PerformanceAnalytics_1.4.3541 xts_0.9-7                    
[5] zoo_1.7-14                    RCurl_1.95-4.8               
[7] bitops_1.0-6                  mailR_0.4.1                  

loaded via a namespace (and not attached):
[1] lattice_0.20-34   R.methodsS3_1.7.1 grid_3.3.2        magrittr_1.5     
[5] stringi_1.1.2     R.oo_1.21.0       R.utils_2.5.0     tools_3.3.2      
[9] stringr_1.1.0     inline_0.3.14     rJava_0.9-8   

当我通过打开 R 直接运行脚本时,这是我从 SessionInfo() 得到的:

SessionInfo:R version 3.3.2 (2016-10-31)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: macOS Sierra 10.12.2

locale:
[1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] quantmod_0.4-7                TTR_0.23-1                              PerformanceAnalytics_1.4.3541 xts_0.9-7                    
[5] zoo_1.7-14                    RCurl_1.95-4.8                bitops_1.0-6                      mailR_0.4.1                  

loaded via a namespace (and not attached):
[1] lattice_0.20-34   R.methodsS3_1.7.1 grid_3.3.2        magrittr_1.5          stringi_1.1.2     R.oo_1.21.0       R.utils_2.5.0    
[8] tools_3.3.2       stringr_1.1.0     inline_0.3.14     rJava_0.9-8  

我不知道还能尝试什么。欢迎任何帮助。 约翰

【问题讨论】:

  • traceback() 的输出可以进一步阐明潜在问题。
  • 我不确定我应该如何在脚本中使用这个函数(对不起,我不是那个专家)。我在第一次调用 xts 之后立即将其放置。这是我在错误报告中得到的:
  • .Call("dimnames_zoo", x) 中的错误:“dimnames_zoo”未从当前命名空间 (xts) 中解析调用:reportsIB -> colnames -> dimnames -> dimnames.xts -> .Call Esecuzione interrotta
  • 函数调用只是试图将 csv 转换为 xts:nav0
  • 我怀疑文件“NAV.csv”不是在脚本模式下创建的,你能确认一下吗?

标签: r namespaces xts zoo


【解决方案1】:

您可以尝试复制此结果吗:

 library("xts")

 mtcars_new = mtcars
 mtcars_new$mpg = head(seq(Sys.Date()-nrow(mtcars_new),Sys.Date(),by=1),nrow(mtcars_new))
 mtcars_xts = xts(mtcars_new[,-1],order.by=as.Date(mtcars_new[,1],format="%Y-%m-%d"))

 head(mtcars_xts)

 head(mtcars_xts)
 #           cyl disp  hp drat    wt  qsec vs am gear carb
 #2017-01-05   6  160 110 3.90 2.620 16.46  0  1    4    4
 #2017-01-06   6  160 110 3.90 2.875 17.02  0  1    4    4
 #2017-01-07   4  108  93 3.85 2.320 18.61  1  1    4    1
 #2017-01-08   6  258 110 3.08 3.215 19.44  1  0    3    1
 #2017-01-09   8  360 175 3.15 3.440 17.02  0  0    3    2
 #2017-01-10   6  225 105 2.76 3.460 20.22  1  0    3    1

【讨论】:

  • 我确实创建了 xts 对象并正确报告了它:
  • is.xts TRUE cyl disp hp drat wt qsec vs am gear carb 2017-01-05 6 160 110 3.90 2.620 16.46 0 1 4 4 2017-01-06 6 160 110 3.90 2.875 17.02 01 4 4 2017-01-07 4 108 93 3.85 2.320 18.61 1 1 4 1 2017-01-08 6 258 110 3.08 3.215 19.44 1 0 3 1 2017-01-09 8 360 175 3.15 3.440 17.02 0 0 3 2 2017-01 -10 6 225 105 2.76 3.460 20.22 1 0 3 1
  • 嗨,Osssan,情况让我很困惑。现在我刚刚从 RStudio 打开 R(就像我通常做的那样),即使打开了 R,xts 包也会给我一个错误(这很奇怪,因为它通常不会这样做)。例如,我尝试了 marcars_xts 示例,现在在 .Call("dimnames_zoo", x) 中出现错误:"dimnames_zoo" not resolve from current namespace (xts)
  • 要隔离软件包问题(特定于 xts)与系统范围(R 问题),建议创建 /path-to-R/library/xts/ 的备份并从此路径中删除/删除它。打开一个新的 R 会话,安装 xts 版本 install.packages("xts",dep=TRUE) 并重试您的代码。
  • 我做到了。现在它正在工作。奇怪的是,我仅在 3 天前重新安装了 R 并更新了所有软件包,希望它能解决问题。但它没有。也许我应该按照你在这里的建议先删除 xts 。无论如何,我希望它继续工作。我会在接下来的几天内找到答案。非常感谢您的帮助
猜你喜欢
  • 2014-01-25
  • 2017-09-25
  • 1970-01-01
  • 2013-11-22
  • 2022-01-20
  • 1970-01-01
  • 2010-11-08
  • 1970-01-01
相关资源
最近更新 更多