删除所有未附带R的软件包

ECI*_*CII 15 r package

除了base和之外,如何删除所有已安装的软件包recommended

Sim*_*lon 18

小心!在尝试之前阅读文档:

# Pasted as a commented to prevent blindly copying and pasting
# remove.packages( installed.packages( priority = "NA" )[,1] )
Run Code Online (Sandbox Code Playgroud)

默认情况下,这将从您的第一个库中删除包.libPaths().

  • 我刚刚为R 3.0.0运行了这个代码,这里是唯一仍然可用的软件包:base,boot,class,cluster,codetools,compiler,datasets,foreign,graphics,grDevices,grid KernSmooth,lattice,MASS,Matrix,methods, mgcv,nlme,nnet,parallel,rpart,spatial,splines,stats,stats4,survival,tcltk,tools,utils (2认同)

Dir*_*tel 13

代替

已更新至R 3.0.0并且必须重建所有包.

做就是了

update.packages(..., checkBuilt=TRUE)
Run Code Online (Sandbox Code Playgroud)

这是我在R 3.0.0上做的(lib.loc=...用来指向我不同的本地目录).这将更新您拥有的所有内容以及它仍可从repos(例如CRAN)获得的内容.对于install_git()等,你运气不好,需要重新安装.

但无论哪种方式,您都不需要先删除软件包.

  • @ECII 是的。`checkBuilt` 检查包是否是在 R 的先前主要版本下构建的,如果为 TRUE,则将它们标记为旧的并且需要更新,并且将 *尝试* 更新它们。 (2认同)

Del*_*eet 8

接受的答案不再有效(R 3.6.X),但这个答案是:

update.packages(checkBuilt = T, ask = F)
Run Code Online (Sandbox Code Playgroud)

我们使用checkBuilt=T是因为这会检查包是否是在旧版本下构建的,并且需要重新构建(有时)。

我们使用ask=F因为否则我们会收到每个令人讨厌的包的提示。