无法在 R 中加载包

Cannot load package in R

从昨天开始,我无法加载一些常用的包,例如reshape2stringr 通过库命令。

重现我的问题的步骤:

1) 在 Rstudio 服务器(版本 0.99.467)中启动一个新会话。我还终止了 Rstudio 服务器中的活动会话。

2) 运行 这些代码

library(ggplot2)
library(stringr)

3) 获取错误信息:

Error in unloadNamespace(package) : namespace ‘stringr’ is imported by ‘reshape2’ so cannot be unloaded Show Traceback

使用调试重新运行

Error in library(stringr) : “stringr” version 0.6.2 cannot be unloaded.

但是如果 stringrggplot2 之前加载,我不会收到错误消息。我应该如何解决这个问题。感谢您的任何建议。

我可能必须将 R 更新到 3.2

我的 R 会话信息:

R version 3.1.3 (2015-03-09)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu precise (12.04.5 LTS)

locale:
 [1] LC_CTYPE=en_AU.UTF-8       LC_NUMERIC=C               LC_TIME=en_AU.UTF-8        LC_COLLATE=en_AU.UTF-8    
 [5] LC_MONETARY=en_AU.UTF-8    LC_MESSAGES=en_AU.UTF-8    LC_PAPER=en_AU.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=en_AU.UTF-8 LC_IDENTIFICATION=C       

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

other attached packages:
[1] ggplot2_1.0.0

loaded via a namespace (and not attached):
 [1] colorspace_1.2-4 digest_0.6.4     grid_3.1.3       gtable_0.1.2     MASS_7.3-39      munsell_0.4.2    plyr_1.8.1      
 [8] proto_0.3-10     Rcpp_0.11.2      reshape2_1.4     scales_0.2.4     stringr_0.6.2    tools_3.1.3    

我通过更新 R 和所有 R 包解决了我的问题。

我猜问题是因为我在不同的地方(系统文件夹或个人库)安装了相同的包,所以旧版本的 stringr 或 reshape2 导致了这个问题。 R 试图加载旧版本的包。

尽管对我来说更新 R 是一个好习惯,但没有必要解决同样的问题。该问题可能由少数 .libPaths() 引起。 .libPaths("C:/Program Files/R/R-3.4.3patched/library") 可以指定一个文件夹。之后只需重新安装软件包,它就可以工作了。 我的代码:

> .libPaths()

[1] "L:/My Documents/R/win-library/3.4"         "C:/Program Files/R/R-3.4.3patched/library"

> .libPaths("C:/Program Files/R/R-3.4.3patched/library")

> packages<-c('ggplot2','data.table','knitr','xtable')

> install.packages(packages)
> lapply(packages,library,character.only=T)

尽管问题已解决,但我希望它能对某人有所帮助。