Как ускорить ggwithinplot для большого набора данных? - PullRequest
0 голосов
/ 18 марта 2020

Проблема

Я использую ggwithinplot в ggstatsplot для построения 1755 точек данных, и она оказывается очень медленной.

Я подтвердил эту проблему, протестировав затраченное время на построение разного количества точек данных:

1.N = 120, 5,576425 с.

2.N = 360, 11,90681 с.

3.N = 1755, 6,699168 минут , но не секунд.

Что я пробовал

  1. Я преобразовал data.frame в data.table. Это помогло.
  2. Я установил point.path = FALSE в ggwithinplot. Это помогло.
  3. Я установил nboot = 1 в ggwithinplot, чтобы уменьшить время для расчета CI величины эффекта. Это помогло.

Код

  ggwithinstats(long_general_disBU_dt, x = condition, y = disBU,
                         point.path = FALSE,
                         mean.ci = TRUE,
                         pairwise.comparisons = TRUE,
                         pairwise.annotation = "asterisk",
                         pairwise.display = "s",
                         effsize.type = 'partial_eta',
                         p.adjust.method = "fdr",
                         ggtheme = theme_classic(),
                         palette = "Darjeeling2",
                         package = "wesanderson",
                         ggstatsplot.layer = FALSE,
                         bf.message= FALSE,
                         nboot=1,
                         xlab = "targets", 
                         ylab = "general_disBU_dt",
                         title = "general disBU across 20 news")

информация о сеансе:

R version 3.6.3 (2020-02-29)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 15063)

Matrix products: default

locale:
[1] LC_COLLATE=Chinese (Simplified)_China.936  LC_CTYPE=Chinese (Simplified)_China.936   
[3] LC_MONETARY=Chinese (Simplified)_China.936 LC_NUMERIC=C                              
[5] LC_TIME=Chinese (Simplified)_China.936    

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

other attached packages:
 [1] reshape_0.8.8      gginnards_0.0.3    VGAM_1.1-2         parameters_0.6.0   nnet_7.3-13        openxlsx_4.1.4    
 [7] summarytools_0.9.6 ggcorrplot_0.1.3   bruceR_0.4.0       performance_0.4.4  lubridate_1.7.4    psych_1.9.12.31   
[13] data.table_1.12.8  rio_0.5.16         ggstatsplot_0.3.1  forcats_0.5.0      stringr_1.4.0      dplyr_0.8.5       
[19] purrr_0.3.3        readr_1.3.1        tidyr_1.0.2        tibble_2.1.3       ggplot2_3.3.0      tidyverse_1.3.0   
[25] drawMap_0.1.0     

loaded via a namespace (and not attached):
  [1] estimability_1.3          GGally_1.4.0              lavaan_0.6-5              coda_0.19-3              
  [5] acepack_1.4.1             knitr_1.28                multcomp_1.4-12           rpart_4.1-15             
  [9] inline_0.3.15             generics_0.0.2            callr_3.4.2               cowplot_1.0.0            
 [13] TH.data_1.0-10            xml2_1.2.5                httpuv_1.5.2              StanHeaders_2.21.0-1     
 [17] assertthat_0.2.1          d3Network_0.5.2.1         WRS2_1.0-0                xfun_0.12                
 [21] hms_0.5.3                 promises_1.1.0            fansi_0.4.1               dbplyr_1.4.2             
 [25] readxl_1.3.1              igraph_1.2.4.2            htmlwidgets_1.5.1         DBI_1.1.0                
 [29] Rsolnp_1.16               paletteer_1.1.0           rcompanion_2.3.25         backports_1.1.5          
 [33] pbivnorm_0.6.0            insight_0.8.2             rapportools_1.0           libcoin_1.0-5            
 [37] jmvcore_1.2.5             vctrs_0.2.4               sjlabelled_1.1.3          abind_1.4-5              
 [41] withr_2.1.2               pryr_0.1.4                metaBMA_0.6.2             checkmate_2.0.0          
 [45] bdsmatrix_1.3-4           emmeans_1.4.5             fdrtool_1.2.15            prettyunits_1.1.1        
 [49] fastGHQuad_1.0            mnormt_1.5-6              cluster_2.1.0             mi_1.0                   
 [53] crayon_1.3.4              pkgconfig_2.0.3           nlme_3.1-145              statsExpressions_0.3.1   
 [57] palr_0.2.0                pals_1.6                  rlang_0.4.5               lifecycle_0.2.0          
 [61] miniUI_0.1.1.1            groupedstats_0.2.0        skimr_2.1                 LaplacesDemon_16.1.4     
 [65] MatrixModels_0.4-1        sandwich_2.5-1            kutils_1.69               EMT_1.1                  
 [69] modelr_0.1.6              dichromat_2.0-0           tcltk_3.6.3               cellranger_1.1.0         
 [73] matrixStats_0.56.0        broomExtra_2.5.0          lmtest_0.9-37             Matrix_1.2-18            
 [77] regsem_1.5.2              loo_2.2.0                 mc2d_0.1-18               carData_3.0-3            
 [81] boot_1.3-24               zoo_1.8-7                 reprex_0.3.0              base64enc_0.1-3          
 [85] whisker_0.4               processx_3.4.2            png_0.1-7                 viridisLite_0.3.0        
 [89] rjson_0.2.20              oompaBase_3.2.9           pander_0.6.3              ggExtra_0.9              
 [93] afex_0.26-0               multcompView_0.1-8        coin_1.3-1                arm_1.10-1               
 [97] jpeg_0.1-8.1              rockchalk_1.8.144         ggsignif_0.6.0            scales_1.1.0             
[101] magrittr_1.5              plyr_1.8.6                compiler_3.6.3            rstantools_2.0.0         
[105] bbmle_1.0.23.1            RColorBrewer_1.1-2        lme4_1.1-21               cli_2.0.2                
[109] lmerTest_3.1-1            pbapply_1.4-2             ps_1.3.2                  TMB_1.7.16               
[113] Brobdingnag_1.2-6         htmlTable_1.13.3          Formula_1.2-3             MASS_7.3-51.5            
[117] mgcv_1.8-31               tidyselect_1.0.0          stringi_1.4.6             lisrelToR_0.1.4          
[121] sem_3.1-9                 jtools_2.0.2              OpenMx_2.17.3             latticeExtra_0.6-29      
[125] ggrepel_0.8.2             bridgesampling_1.0-0      grid_3.6.3                tools_3.6.3              
[129] parallel_3.6.3            matrixcalc_1.0-3          rstudioapi_0.11           foreign_0.8-76           
[133] gridExtra_2.3             ipmisc_1.2.0              pairwiseComparisons_0.2.5 BDgraph_2.62             
[137] digest_0.6.25             shiny_1.4.0.2             nortest_1.0-4             jmv_1.2.5                
[141] Rcpp_1.0.3                car_3.0-7                 broom_0.5.5               metafor_2.1-0            
[145] ez_4.4-0                  BayesFactor_0.9.12-4.2    metaplus_0.7-11           later_1.0.0              
[149] httr_1.4.1                effectsize_0.2.0          sjstats_0.17.9            colorspace_1.4-1         
[153] rvest_0.3.5               XML_3.99-0.3              fs_1.3.2                  truncnorm_1.0-8          
[157] rematch2_2.1.0            expm_0.999-4              mapproj_1.2.7             jcolors_0.0.4            
[161] MuMIn_1.43.15             xtable_1.8-4              jsonlite_1.6.1            nloptr_1.2.2.1           
[165] corpcor_1.6.9             rstan_2.19.3              glasso_1.11               zeallot_0.1.0            
[169] modeltools_0.2-23         scico_1.1.0               R6_2.4.1                  Hmisc_4.3-1              
[173] broom.mixed_0.2.4         pillar_1.4.3              htmltools_0.4.0           mime_0.9                 
[177] glue_1.3.2                fastmap_1.0.1             minqa_1.2.4               codetools_0.2-16         
[181] maps_3.3.0                pkgbuild_1.0.6            mvtnorm_1.1-0             lattice_0.20-40          
[185] numDeriv_2016.8-1.1       huge_1.3.4                curl_4.3                  DescTools_0.99.34        
[189] gtools_3.8.1              magick_2.3                logspline_2.1.15          zip_2.0.4                
[193] survival_3.1-11           qgraph_1.6.5              repr_1.1.0                munsell_0.5.0            
[197] semPlot_1.1.2             sjmisc_2.8.3              haven_2.2.0               reshape2_1.4.3           
[201] gtable_0.3.0              bayestestR_0.5.2 

Могу ли я что-нибудь сделать для ускорить функцию ggwithinplot?

...