2016-11-20 90 views
1

我正在使用R版本3.3.2與ggplot2_2.2.0forecast_7.3(請參閱下面的完整sessionInfo())。在我最近的更新之後,我遇到了一些與ggtsdisplay()有關的問題。這是因爲它不是,儘管兩者ggAcf()ggPacf()作品繪製的ACF,ggAcf()和PACF,ggPacf()地塊分開(也代碼如下),什麼現在我得到(後我最近更新)是ggtsdisplay中的預測破解

What I'm getting now

我我的更新之前得到了什麼, What I got before

# install.packages(c("forecast", "zoo", "ggplot2")) 
library(forecast) 
library(ggplot2) 
ggtsdisplay(mdeaths) 
# sessionInfo() 

R version 3.3.2 (2016-10-31) 
Platform: x86_64-apple-darwin13.4.0 (64-bit) 
Running under: OS X Mavericks 10.9.5 

locale: 
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] ggplot2_2.2.0  forecast_7.3  timeDate_3012.100 zoo_1.7-13  
[5] colorout_1.1-2 

loaded via a namespace (and not attached): 
[1] Rcpp_0.12.8  quadprog_1.5-5 lattice_0.20-34 assertthat_0.1 
[5] grid_3.3.2  plyr_1.8.4  gtable_0.2.0  scales_0.4.1  
[9] lazyeval_0.2.0 tseries_0.10-35 fracdiff_1.4-2 labeling_0.3  
[13] tools_3.3.2  munsell_0.4.3 parallel_3.3.2 colorspace_1.3-1 
[17] nnet_7.3-12  tibble_1.2  
+1

它爲我用''[R 3.3.2'',''預測7.3''和''GGPLOT2 2.1.0' ',但不再使用'ggplot2 2.2.0''。問題可能出現在「ggplot2」中,而不是「預測」中。奇怪的是,'ggAcf'和'ggPacf'仍然可以在''ggplot2 2.2.0'' – etienne

+0

@etienne下工作,我也有'ggAcf'和'ggPacf'單獨工作,這對我來說也很奇怪。如果添加'plot.type'eiher' partial','scatter'或'spectrum',我還會在'ggtsdisplay'中獲得'ggAcf'。感謝您關注此事。 –

+1

@etienne我還從'ggplot2 2.2.0'(在Windows上使用R 3.3.2)回滾到'ggplot2 2.1.0',並且能夠根據需要恢復原始(無錯誤)行爲。謝謝! – lowndrul

回答

1

我得到ggplot 2.1.0相同的結果。輸入函數名稱並注意hte函數頂部的參數,「partial」是默認的「type」圖。因此,這是一組函數調用:

if (plot.type == "partial") { 
     lastplot <- ggPacf(x, lag.max = lag.max, na.action = na.action) + 
      ggplot2::ggtitle(NULL) 
     acfplotrange <- ggplot2::ggplot_build(acfplot)$panel$ranges[[1]]$y.range 
     pacfplotrange <- ggplot2::ggplot_build(lastplot)$panel$ranges[[1]]$y.range 
     yrange <- range(c(acfplotrange, pacfplotrange)) 
     acfplot <- acfplot + ggplot2::ylim(yrange) 
     lastplot <- lastplot + ggplot2::ylim(yrange) 
} 

更新到GGPLOT2到2.2.0了在Mac上運行3.3.1相同的結果。因此,您需要閱讀ggplot2的NEWS文件並查看是否有任何更改爲ggplot_build。我試圖找到並失敗。還嘗試了http://ggplot2.tidyverse.org網站,該網站沒有任何通知或鏈接到我可以找到的更改。所以我想你需要將錯誤報告發送給ggplot2forecast的維護人員。

> maintainer('ggplot2') 
[1] "Hadley Wickham <[email protected]>" 
> maintainer('forecast') 
[1] "Rob Hyndman <[email protected]>" 

千萬要記住,這類信息:

> sessionInfo() 
R version 3.3.1 Patched (2016-08-17 r71112) 
Platform: x86_64-apple-darwin13.4.0 (64-bit) 
Running under: OS X El Capitan (10.11.6) 

locale: 
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 

attached base packages: 
[1] grDevices utils  datasets graphics stats  methods base  

other attached packages: 
[1] forecast_7.3  timeDate_3012.100 zoo_1.7-13  rms_4.5-0   
[5] SparseM_1.7  Hmisc_3.17-4  ggplot2_2.2.0  Formula_1.2-1  
[9] survival_2.40-1 sos_1.3-9   brew_1.0-6  lattice_0.20-33 

loaded via a namespace (and not attached): 
[1] Rcpp_0.12.7   RColorBrewer_1.1-2 plyr_1.8.4   
[4] tseries_0.10-35  tools_3.3.1   rpart_4.1-10  
[7] tibble_1.2   polspline_1.1.12 gtable_0.2.0  
[10] nlme_3.1-128  Matrix_1.2-6  parallel_3.3.1  
[13] mvtnorm_1.0-5  gridExtra_2.2.1  cluster_2.0.4  
[16] MatrixModels_0.4-1 grid_3.3.1   nnet_7.3-12   
[19] data.table_1.9.6 foreign_0.8-66  multcomp_1.4-6  
[22] latticeExtra_0.6-28 TH.data_1.0-7  scales_0.4.1  
[25] codetools_0.2-14 splines_3.3.1  MASS_7.3-45   
[28] assertthat_0.1  colorspace_1.2-6 fracdiff_1.4-2  
[31] labeling_0.3  quadprog_1.5-5  quantreg_5.26  
[34] sandwich_2.3-4  acepack_1.3-3.3  lazyeval_0.2.0  
[37] munsell_0.4.3  chron_2.3-47  
+0

謝謝您的詳盡回覆,我對此印象非常深刻。我注意到了,下次遇到困難時我會經歷相同的步驟。我已將完整的'sessionInfo()'添加到了我的帖子中。奇怪的是(額外的)是'ggAcf'和'ggPacf'單獨工作(參見上面的@etienne討論)。 –