2017-02-02 4 views
1

Я написал сценарий R, который загружает цены на акции из Интернета и регулярно обновляет мою базу данных. Скрипт также использует пакет xts. Я запускаю его автоматически каждую ночь (с mac). Он работал около 6 месяцев. В последнее время он перестал работать и сообщает следующее сообщение об ошибке при любых XTS по телефону:«dimnames_zoo» не разрешен из текущего пространства имен (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 

Я не знаю, что еще попробовать. Любая помощь приветствуется. Джон

+0

Выход 'TRACEBACK()' могли бы пролить свет на основной вопрос. – OdeToMyFiddle

+0

Я не уверен, как использовать эту функцию в скрипте (извините, что я не специалист). Я установил его сразу после первого вызова в xts. Это то, что я получил в отчете об ошибке: – john

+0

Ошибка в .Call («dimnames_zoo», x): «dimnames_zoo» не разрешено из текущего пространства имен (xts) Вызовы: reportsIB -> colnames -> dimnames -> dimnames.xts -> .Call Esecuzione interrotta – john

ответ

0

Не могли бы вы попробуйте повторить этот результат:

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 
+0

я создать объект в XTS и сообщил правильно: – john

+0

is.xts ИСТИНА цила Индик.точки л.с. убирайся вес qsec против утра шестерни карбюратора 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 – john

+0

Интересно, почему он не делает то же самое для NAV.csv? – john

Смежные вопросы