Демоверсия R Blotter не работает под Linux
Я хочу запустить демонстрационную программу r blotter под Linux и получить следующую ошибку при запуске демо (amzn_test)
> # update the portfolio stats
> updatePortf("amzn_port",Dates="2010-01-14")
Error in if (nzchar(intervals[1])) s <- as.POSIXlt(do.call(firstof, parse.side(intervals[1]))) :
argument is of length zero
Интересно, что с той же версией R все отлично работает в Windows. Я довольно новичок в R и врезался в стену, пытаясь пристрелить. Я проверил sessioInfo в Linux и Windows, и они совпадали, за исключением локали, которая, я считаю, зависит от конкретной ОС.
В Linux:
> sessionInfo()
R version 2.15.1 (2012-06-22)
Platform: x86_64-pc-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8
[6] LC_MESSAGES=en_US.UTF-8 LC_PAPER=C LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] lattice_0.20-6 blotter_0.8.10 FinancialInstrument_1.0 quantmod_0.3-17 TTR_0.21-1 Defaults_1.1-1
[7] xts_0.8-6 zoo_1.7-7
loaded via a namespace (and not attached):
[1] grid_2.15.1 tools_2.15.1
В Windows:
> sessionInfo()
R version 2.15.1 (2012-06-22)
Platform: x86_64-pc-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
1 ответ
Эта проблема была исправлена в Rev. 1133. Код использовал time
функция в списке вместо объекта xts, который содержится в списке. Похоже, это было проблемой некоторое время, но до вчерашнего изменения явно использовать xts:::time.xts
, отличающийся time
метод был отправлен, который благополучно возвратил значения, отличные от запланированных, без ошибок. Спасибо за отчет.
Если вам нужна помощь в проверке, сборке и установке последней версии, см. Этот пост