Como descarregar um pacote sem reiniciar o R?

Eu gostaria de descarregar um pacote sem ter que reiniciar o R ​​(principalmente porque reiniciar R como eu experimento diferentes, pacotes conflitantes está ficando frustrante, mas concebivelmente isso poderia ser usado em um programa para usar uma function e depois outra – embora namespace referenciamento é provavelmente uma idéia melhor para esse uso).

?library não mostra nenhuma opção que descarregaria um pacote.

Há uma sugestão de que o detach possa descarregar o pacote, mas os seguintes falharam:

 detach(vegan) 

Erro ao detach(vegan) : argumento de name inválido

 detach("vegan") 

Erro no detach("vegan") : argumento de name inválido

Então, como faço para descarregar um pacote?

Tente isso (veja ?detach para mais detalhes):

 detach("package:vegan", unload=TRUE) 

É possível ter várias versões de um pacote carregado de uma só vez (por exemplo, se você tiver uma versão de desenvolvimento e uma versão estável em bibliotecas diferentes). Para desappend a garantia de que todas as cópias são desanexadas, use esta function.

 detach_package <- function(pkg, character.only = FALSE) { if(!character.only) { pkg <- deparse(substitute(pkg)) } search_item <- paste("package", pkg, sep = ":") while(search_item %in% search()) { detach(search_item, unload = TRUE, character.only = TRUE) } } 

O uso é, por exemplo

 detach_package(vegan) 

ou

 detach_package("vegan", TRUE) 

Você também pode usar o comando unloadNamespace, como em:

 unloadNamespace("sqldf") 

A function desanexa o espaço de nomes antes de descarregá-lo.

você pode desmarcar o botão da checkbox de seleção no RStudio (pacotes)

Eu tentei o que o kohske escreveu como resposta e recebi um erro novamente, então fiz uma pesquisa e achei isso que funcionou para mim (R 3.0.2):

 require(splines) # package detach(package:splines) 

ou também

 library(splines) pkg <- "package:splines" detach(pkg, character.only = TRUE) 

Quando você está indo e voltando entre os scripts, às vezes pode ser necessário descarregar um pacote. Aqui está uma instrução IF simples que impedirá os avisos que apareceriam se você tentasse descarregar um pacote que não estava carregado no momento.

 if("package:vegan" %in% search()) detach("package:vegan", unload=TRUE) 

Incluir isso no topo de um script pode ser útil.

Espero que faça o seu dia!

O detach (package: PackageName) funciona e não há necessidade de usar aspas.

Apenas vá para a janela OUTPUT, depois clique no ícone Packages (localizado entre os icons Plot e Help ). Remova ” tick / check mark ” do pacote que você deseja descarregar.

Para usar novamente o pacote, basta colocar um ” tick ou Check mark ” na frente do pacote ou usar:

 library (lme4) 
Intereting Posts