【问题标题】:R Blotter demo not working under linuxR Blotter 演示无法在 linux 下运行
【发布时间】:2012-08-21 00:13:07
【问题描述】:

我想在linux下运行r blogger demo程序,运行demo(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 很陌生,并试图解决问题。我确实检查了 Linux 和 Windows 中的 sessioInfo,除了我认为特定于操作系统的语言环境之外,它们是匹配的。

在 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  

【问题讨论】:

  • 我会修补的。同时,它适用于修订版 1131。因此,如果您不耐烦,可以查看该修订版。

标签: r demo blotter


【解决方案1】:

此问题已在 Rev. 1133 中修复。代码在列表而不是列表包含的 xts 对象上使用 time 函数。看起来这个问题已经有一段时间了,但是直到昨天更改为显式使用xts:::time.xts,一个不同的time 方法正在被调度,它很高兴地返回了与预期不同的值而没有错误。感谢您的报告。

如果您在检查、构建和安装最新版本时需要帮助,请参阅 this post

【讨论】:

  • 感谢您的快速响应。使用最新版本,第一个演示可以工作,但其他 2 个演示仍然不行。与第一个演示一样,它们在 Windows 上工作。我得到的错误是&gt; # Create trades &gt; for( i in 10:NROW(GSPC) ) { + # browser() + CurrentDate=time(GSPC)[i] + cat(".") + equity = getEndEq(ltaccount, C .... [TRUNCATED] . Error in inherits(TF, "try-error") : object 'TF' not found In addition: There were 14 warnings (use warnings() to see them)
  • 完美运行。全新的 SO,所以没有足够的代表来投票!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-13
  • 1970-01-01
相关资源
最近更新 更多