我在Ubuntu22.04上安装了ggplot2 3.4.0,但出于某些原因,我想使用旧版本的ggplot2 3.3.6。
library(ggplot2, lib.loc="~/R/ggplot336/") 当我开始使用一个干净的脚本文件时,我工作得很好。但是,当我使用现有脚本文件时,如下所示:
library(ggplot2, lib.loc="~/R/ggplot336/")
ggimage::geom_image()我得到了以下错误信息:
value3L中的错误:包‘ggplot2’版本3.4.0无法卸载:unloadNamespace中的错误(包):名称空间‘ggplot2’是由‘is value3L’、‘ggplotify’、‘ggimage’导入的,因此不能卸载
编辑
sessionInfo()
library(ggplot2, lib.loc="~/R/ggplot336/")
ggimage::geom_image()当我运行第一行时,在执行其他任何操作之前都是sessionInfo()。我们可以在那里看到ggplot2_3.4.0。这是一个Rstudio特性还是一个问题?
R version 4.2.2 Patched (2022-11-10 r83330)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 22.04.1 LTS
Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.10.0
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0
locale:
[1] LC_CTYPE=en_AU.UTF-8 LC_NUMERIC=C LC_TIME=en_AU.UTF-8
[4] LC_COLLATE=en_AU.UTF-8 LC_MONETARY=en_AU.UTF-8 LC_MESSAGES=en_AU.UTF-8
[7] LC_PAPER=en_AU.UTF-8 LC_NAME=C LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=en_AU.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] Rcpp_1.0.9 highr_0.9 pillar_1.8.1 compiler_4.2.2
[5] R.utils_2.12.2 R.methodsS3_1.8.2 yulab.utils_0.0.5 tools_4.2.2
[9] digest_0.6.30 evaluate_0.18 jsonlite_1.8.3 lifecycle_1.0.3
[13] tibble_3.1.8 gtable_0.3.1 ggimage_0.3.1 R.cache_0.16.0
[17] pkgconfig_2.0.3 rlang_1.0.6 reprex_2.0.2 DBI_1.1.3
[21] cli_3.4.1 ggplotify_0.1.0 rstudioapi_0.14 magick_2.7.3
[25] yaml_2.3.6 xfun_0.35 fastmap_1.1.0 knitr_1.41
[29] withr_2.5.0 dplyr_1.0.10 styler_1.8.1 generics_0.1.3
[33] vctrs_0.5.1 fs_1.5.2 gridGraphics_0.5-1 grid_4.2.2
[37] tidyselect_1.2.0 glue_1.6.2 R6_2.5.1 processx_3.8.0
[41] fansi_1.0.3 rmarkdown_2.18 clipr_0.8.0 callr_3.7.3
[45] ggplot2_3.4.0 purrr_0.3.5 magrittr_2.0.3 ps_1.7.2
[49] htmltools_0.5.3 scales_1.2.1 assertthat_0.2.1 colorspace_2.0-3
[53] utf8_1.2.2 munsell_0.5.0 ggfun_0.0.9 R.oo_1.25.0 发布于 2022-11-29 00:24:33
在做了一些实验之后,我就算出了这个问题。因为这占用了我太多的时间,我想这会对其他人有所帮助。
问题是使用:: (双冒号)的包使用ggplot2,例如我的示例中的ggimage。在打开脚本文件时,RStudio似乎会自动加载一些依赖的包。现在解决此问题的一种方法是删除::,而是使用library()然后函数(geom_image)。
这解决了我的问题,但我仍然不明白为什么RStudio会这样做。
如果需要:: (双冒号),请注释包含::的行,然后在加载旧版本的ggplot2之后,取消对这些行的注释。有点尴尬,但对我有用。
发布于 2022-11-28 22:49:59
看起来session正在从前一个会话中加载所有以前的库。也许是.RData或.Rhistory里遗留下来的东西。一个新的R的开始应该有非常少的加载库。
这是我的新开始:
sessionInfo()
R version 4.2.2 (2022-10-31)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Monterey 12.6.1
Matrix products: default
LAPACK: /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRlapack.dylib
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
loaded via a namespace (and not attached):
[1] compiler_4.2.2 tools_4.2.2 在Rstudio的首选项中,您应该看到这个屏幕:

我会尝试取消检查所有的框,然后退出并重新启动Rstudio,以确定这是否清除了问题。
https://stackoverflow.com/questions/74594798
复制相似问题