##-------------------------------------------------------------
##
##-------------------------------------------------------------
delete_pac = function(..., verbose = TRUE)
{
if(missing(...)) return(invisible(NULL))
## nomes dos pacotes como vetor
v = tryCatch(is.vector(...), error = function(e)return(FALSE))
## nomes dos pacotes
if(v) pac = as.vector(...) else
pac = as.character(match.call(expand.dots = FALSE)[[2]])#end if
if(is.null(pac)) return(invisible(NULL))
instalado = list.files(.libPaths())
base_rec = rownames(installed.packages(priority = "high"))
base = rownames(installed.packages(priority = "base"))
rec = rownames(installed.packages(priority = "recommended"))
outros = instalado[!instalado %in% base_rec]
#pro = pac[pac%in%protected]
pkgs.yes = pac[pac%in%outros]
pkgs.no = pac[!pac%in%instalado]
pkgs.base = pac[pac %in% base]
pkgs.rec = pac[pac %in% rec]
## pacotes que serão removidos
if(length(pkgs.yes))
{
## verifica namespace
nm = pkgs.yes[unlist(lapply(pkgs.yes, isNamespaceLoaded))]
## unload package
if(length(nm)) unload_pac(pkgs.yes, verbose=FALSE)
pkv = unlist(sapply(pkgs.yes, packageDescription,
fields="Version", drop=T))
pkyes = paste(pkgs.yes, pkv)
## remove pkgs.yes
lapply(pkgs.yes, remove_pac)
if(verbose) mensagem(pkyes, msg = 1, aviso="Package deleted", simb="dif",
subtitulo = "The following packages have been deleted:")
}#end if
## pacotes não encontrados
if(length(pkgs.no))
if(verbose) mensagem(pkgs.no, aviso = "Package not found",
subtitulo = "There is no package called:")
## pacotes base bloqueados
if(length(pkgs.base))
if(verbose) mensagem(pkgs.base, aviso="Package base",
subtitulo = "The following packages not deleted:")
## pacotes recomendados bloqueados
if(length(pkgs.rec))
if(verbose) mensagem(pkgs.rec, aviso="Package recommended",
subtitulo = "The following packages not deleted:")
#return(list(deleted=pkgs.yes, not_found=pkgs.no, base=pkgs.base, recommended=pkgs.rec))
return(invisible(ifelse(length(pkgs.yes), TRUE, FALSE)))
}#end funtion remove_pac
## function remove pacote
remove_pac = function(pkg_del)
{ ## delete package
utils::remove.packages(pkg_del, lib = dirname(system.file(package = pkg_del)))
}#end funtion remove_pac
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.