【问题标题】:R chart.Timeseries in loop not workingR chart.Timeseries in loop 不工作
【发布时间】:2018-11-08 11:51:31
【问题描述】:

我最近更新到最新版本的 R 和 R studio,突然发现 PerformanceAnalytics 包中的 chart.TimeSeries 无法在循环中工作。

例如,如果我在 Rstudio 中突出显示下面的代码并运行它,它会毫无错误地执行(您可以在运行后通过检查 i = 3 的值来确认)但不会产生任何图

library(PerformanceAnalytics)
library(xts)
ts1 <- xts(1:12, order.by = as.Date("2018-05-01") + (-11:0))
i <- 0
for (i in 1:3) chart.TimeSeries(ts1)

但是如果我替换

for (i in 1:3) chart.TimeSeries(ts1)

chart.TimeSeries(ts1)
chart.TimeSeries(ts1)
chart.TimeSeries(ts1)

然后按预期生成 3 个图。以前有没有人看到或注意到这一点或对此有解释?

更新:如果我使用plot.xts(这是chart.TimeSeries 在后台使用的)代替chart.TimeSeries,也会发生同样的情况。

> version
               _                           
platform       x86_64-w64-mingw32          
arch           x86_64                      
os             mingw32                     
system         x86_64, mingw32             
status                                     
major          3                           
minor          5.0                         
year           2018                        
month          04                          
day            23                          
svn rev        74626                       
language       R                           
version.string R version 3.5.0 (2018-04-23)
nickname       Joy in Playing  

R-Studio 版本 1.1.423。 PerformanceAnalytics 1.5.2 版,xts 0.10-2 版

【问题讨论】:

  • 您是否尝试过在 base R 而不是 Rstudio 中运行代码?
  • 在基础 R (R Gui) 中尝试了 plot.xts 版本,这次是 R 版本 3.4.3(32 位和 64 位),但 xts 版本相同。出现图形设备窗口,但内部仍为灰色,没有图像。所以for (i in 1:3) {cat(sprintf("i = %d\n", i)) ; plot(1:10, 1:10)} 很好,但for (i in 1:3) {cat(sprintf("i = %d\n", i)) ; plot.xts(ts1)} 不是。顺便说一句,这是所有 Windows 风格(7 和 10)
  • 在 xts github 页面找到了关于这个问题的讨论。在当前版本的 xts 中似乎是一个已知问题 (link)
  • 我在 OS X 上遇到同样的问题很久了,至今没有找到解决办法。

标签: r performanceanalytics


【解决方案1】:

我刚刚运行了您的示例,确实,我的结果与您的相同。 我变了

for (i in 1:3) chart.TimeSeries(ts1)

for (i in 1:3) print(PerformanceAnalytics::chart.TimeSeries(ts1))

现在所有 3 个图表都在我的 rstudio 内的绘图面板中正确显示(我也使用最新版本) 希望这能解决您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-25
    • 2021-07-07
    • 2016-03-11
    • 2016-12-20
    • 1970-01-01
    • 2019-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多