Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why does coord_proj and ggplot2 give me this error?

Tags:

So I have been using a fairly basic process for plotting number of participants onto a global map.

map <- map_data("world")
p <-ggplot()
p <- ggplot()+geom_polygon(data=map,aes(x=long, y=lat, group = group),fill="#4a4a49")
opt <- theme(legend.position="none",
axis.ticks=element_blank(),
axis.title=element_blank(),
axis.text =element_blank())
p <- p+
     geom_point(aes(x=lon, y=lat, size=log10), data=hs_mapping_latlon, col="#ffcd00", alpha=0.7)
p <- p+ 
     theme_map()+opt

This all worked fine until recently. Particularly, if I want to use a Winkel tripel projection using the following code:

q <- p+ 
     coord_proj("+proj=wintri")

I get the following error.

Coordinate system already present. Adding new coordinate system, which will replace the existing one.
Error: Not implemented
Run `rlang::last_error()` to see where the error occurred.

<error/rlang_error>
Not implemented
Backtrace:
     x
  1. +-(function (x, ...) ...
  2. \-ggplot2:::print.ggplot(x)
  3.   +-ggplot2::ggplot_gtable(data)
  4.   \-ggplot2:::ggplot_gtable.ggplot_built(data)
  5.     \-base::Map(...)
  6.       \-base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
  7.         \-(function (l, d) ...
  8.           \-l$draw_geom(d, layout)
  9.             \-ggplot2:::f(..., self = self)
 10.               \-self$geom$draw_layer(data, self$geom_params, layout, layout$coord)
 11.                 \-ggplot2:::f(..., self = self)
 12.                   \-base::lapply(...)
 13.                     \-ggplot2:::FUN(X[[i]], ...)
 14.                       +-base::do.call(self$draw_panel, args)
 15.                       \-(structure(function (...) ...
 16.                         \-ggplot2:::f(...)
 17.                           \-ggplot2::coord_munch(coord, data, panel_params)
 18.                             \-coord$backtransform_range(range)
 19.                               \-ggplot2:::f(..., self = self)

The odd thing is that this works on my mac, but has just recently stopped working on my main windows pc. I can still run that code fine on my mac. I have tried uninstalling r + packages and reinstalling, but I keep getting this error... which is really fustrating

Any help or advice welcome

P.S. My hs_mapping_latlon dataframe is basically just country (country name), freq (number of responses), log10 (log of responses), lat (lattitude), lon (longitude)

Session infos below:

1) Session info for working version on mac

R version 3.6.2 (2019-12-12)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Catalina 10.15.3

Matrix products: default
BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRlapack.dylib

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

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

other attached packages:
[1] ggalt_0.4.0             ggthemes_4.2.0          mapproj_1.2.7           maps_3.3.0              rnaturalearthdata_0.1.0
[6] rnaturalearth_0.1.0     rworldxtra_1.01         raster_3.0-12           geosphere_1.5-10        rworldmap_1.3-6        
[11] rgdal_1.4-8             sp_1.4-0                tmaptools_2.0-2         ggmap_3.0.0             forcats_0.4.0          
[16] stringr_1.4.0           dplyr_0.8.4             purrr_0.3.3             readr_1.3.1             tidyr_1.0.2            
[21] tibble_2.1.3            tidyverse_1.3.0         ggplot2_3.2.1          

loaded via a namespace (and not attached):
[1] nlme_3.1-144        bitops_1.0-6        fs_1.3.1            sf_0.8-1            lubridate_1.7.4     ash_1.0-15         
 [7] RColorBrewer_1.1-2  httr_1.4.1          tools_3.6.2         backports_1.1.5     R6_2.4.1            KernSmooth_2.23-16 
[13] rgeos_0.5-2         DBI_1.1.0           lazyeval_0.2.2      colorspace_1.4-1    withr_2.1.2         tidyselect_1.0.0   
[19] compiler_3.6.2      extrafontdb_1.0     cli_2.0.1           rvest_0.3.5         xml2_1.2.2          labeling_0.3       
[25] scales_1.1.0        proj4_1.0-8.1       classInt_0.4-2      foreign_0.8-75      dichromat_2.0-0     jpeg_0.1-8.1       
[31] pkgconfig_2.0.3     extrafont_0.17      dbplyr_1.4.2        rlang_0.4.4         readxl_1.3.1        rstudioapi_0.11    
[37] farver_2.0.3        generics_0.0.2      jsonlite_1.6.1      magrittr_1.5        dotCall64_1.0-0     Rcpp_1.0.3         
[43] munsell_0.5.0       fansi_0.4.1         lifecycle_0.1.0     stringi_1.4.6       MASS_7.3-51.5       plyr_1.8.5         
[49] grid_3.6.2          maptools_0.9-9      crayon_1.3.4        lattice_0.20-40     haven_2.2.0         hms_0.5.3          
[55] knitr_1.28          pillar_1.4.3        rjson_0.2.20        codetools_0.2-16    reprex_0.3.0        XML_3.99-0.3       
[61] glue_1.3.1          modelr_0.1.6        png_0.1-7           vctrs_0.2.3         spam_2.5-1          RgoogleMaps_1.4.5.3
[67] Rttf2pt1_1.3.8      cellranger_1.1.0    gtable_0.3.0        assertthat_0.2.1    xfun_0.12           lwgeom_0.2-1       
[73] broom_0.5.4         e1071_1.7-3         class_7.3-15        viridisLite_0.3.0   fields_10.3         units_0.6-5        
[79] ellipsis_0.3.0     

2) Sessions info for windows pc with error

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

Matrix products: default

locale:
[1] LC_COLLATE=English_United Kingdom.1252  LC_CTYPE=English_United Kingdom.1252   
[3] LC_MONETARY=English_United Kingdom.1252 LC_NUMERIC=C                           
[5] LC_TIME=English_United Kingdom.1252    

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

other attached packages:
 [1] ggpubr_0.2.5            magrittr_1.5            ggalt_0.4.0             ggthemes_4.2.0         
 [5] mapproj_1.2.7           maps_3.3.0              rnaturalearthdata_0.1.0 rnaturalearth_0.1.0    
 [9] rworldxtra_1.01         raster_3.0-12           geosphere_1.5-10        rworldmap_1.3-6        
[13] rgdal_1.4-8             sp_1.4-1                tmaptools_3.0           ggmap_3.0.0            
[17] forcats_0.5.0           stringr_1.4.0           dplyr_0.8.5             purrr_0.3.3            
[21] readr_1.3.1             tidyr_1.0.2             tibble_3.0.0            tidyverse_1.3.0        
[25] ggplot2_3.3.0          

loaded via a namespace (and not attached):
 [1] nlme_3.1-144        bitops_1.0-6        fs_1.4.1            sf_0.9-1            lubridate_1.7.4    
 [6] webshot_0.5.2       ash_1.0-15          RColorBrewer_1.1-2  httr_1.4.1          tools_3.6.3        
[11] backports_1.1.6     R6_2.4.1            KernSmooth_2.23-16  DBI_1.1.0           colorspace_1.4-1   
[16] withr_2.1.2         tidyselect_1.0.0    compiler_3.6.3      extrafontdb_1.0     cli_2.0.2          
[21] rvest_0.3.5         xml2_1.3.0          labeling_0.3        scales_1.1.0        proj4_1.0-10       
[26] classInt_0.4-3      digest_0.6.25       foreign_0.8-75      dichromat_2.0-0     jpeg_0.1-8.1       
[31] pkgconfig_2.0.3     extrafont_0.17      dbplyr_1.4.2        rlang_0.4.5         readxl_1.3.1       
[36] rstudioapi_0.11     farver_2.0.3        generics_0.0.2      jsonlite_1.6.1      dotCall64_1.0-0    
[41] Rcpp_1.0.4          munsell_0.5.0       fansi_0.4.1         lifecycle_0.2.0     stringi_1.4.6      
[46] MASS_7.3-51.5       plyr_1.8.6          grid_3.6.3          maptools_0.9-9      crayon_1.3.4       
[51] lattice_0.20-38     haven_2.2.0         hms_0.5.3           knitr_1.28          pillar_1.4.3       
[56] rjson_0.2.20        ggsignif_0.6.0      codetools_0.2-16    reprex_0.3.0        XML_3.99-0.3       
[61] glue_1.4.0          modelr_0.1.6        png_0.1-7           vctrs_0.2.4         spam_2.5-1         
[66] RgoogleMaps_1.4.5.3 Rttf2pt1_1.3.8      cellranger_1.1.0    gtable_0.3.0        assertthat_0.2.1   
[71] xfun_0.12           lwgeom_0.2-1        broom_0.5.5         e1071_1.7-3         class_7.3-15       
[76] viridisLite_0.3.0   fields_10.3         units_0.6-6         ellipsis_0.3.0
like image 597
Makopet Avatar asked Apr 08 '20 15:04

Makopet


1 Answers

I'll prefix this by saying I don't quite understand how ggplot2 internals work, The problem appears to be due to a change made to ggplot2 between version 3.2.1 and 3.3.0


In particular this line here in 3.2.1:

https://github.com/tidyverse/ggplot2/blob/v3.2.1/R/coord-flip.r#L54

Has been changed in 3.3.0:

https://github.com/tidyverse/ggplot2/blob/v3.3.0/R/coord-flip.r#L54

The new call subsequently seems to call this function, which aborts with the error you are seeing <error/rlang_error> Not implemented

https://github.com/tidyverse/ggplot2/blame/660aad2db2b3495ae0d8040915a40d247133ffc0/R/coord-.r#L82

It may be worth creating an issue in the ggplot2 repo on github, about this bug.

For now however, you'll likely be best off by running

remotes::install_version('ggplot2', version = '3.2.1')
like image 159
aeongrail Avatar answered Sep 19 '22 22:09

aeongrail