分离R中另一个包导入的所有包
Posted
技术标签:
【中文标题】分离R中另一个包导入的所有包【英文标题】:Detach All Packages Imported by Another Package in R 【发布时间】:2017-05-17 15:56:34 【问题描述】:所以,我正在尝试使用包“ecp”,但加载它会引发以下错误:
Error in unloadNamespace(package) :
namespace ‘Rcpp’ is imported by ‘tibble’, ‘htmltools’, ‘purrr’,
‘scales’, ‘plyr’, ‘dplyr’, ‘tidyr’ so cannot be unloaded
Error in library(pkg, character.only = TRUE, logical.return = TRUE,
lib.loc = lib.loc, :
Package ‘Rcpp’ version 0.12.8 cannot be unloaded
它所指的包是在我“情节”加载包时导入的。使用detach('package:plotly', unload=TRUE)
并不能修复错误,我想是因为它不会卸载其他附带的包。有没有一种快速的方法来卸载一个包和它导入的所有包,或者在这种情况下必须手动完成它们?
【问题讨论】:
只需参考ecp
中的函数ecp::function_name()
即可;你不需要加载它
【参考方案1】:
假设我需要分离特定的包将使用下面的代码:
detach("package:data.table")
但是想要分离所有的包(基础包默认可用)
lapply(paste('package:',names(sessionInfo()$otherPkgs),sep=""),detach,character.only=TRUE,unload=TRUE)
【讨论】:
以上是关于分离R中另一个包导入的所有包的主要内容,如果未能解决你的问题,请参考以下文章
Android项目,在manifest中修改包名之后,如何批量更改导入R文件
R语言使用data函数获取当前R环境可用的示例数据集:获取datasets包中的所有示例数据集获取所有包的数据集获取特定包的数据集