3

我正在寻找在 linux 下运行 r blogger 演示程序,并在运行 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  
4

1 回答 1

4

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

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

于 2012-08-25T23:26:26.307 回答