Отключить все пакеты, импортированные другим пакетом в R

Итак, я пытаюсь использовать пакет "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) не исправляет ошибку, потому что оно не выгружает остальные пакеты, которые сюжетно принесли с собой. Есть ли быстрый способ выгрузить как пакет, так и все пакеты, которые он импортирует, или в таких ситуациях нужно вручную просматривать их все?


person Ben    schedule 17.05.2017    source источник
comment
Просто обратитесь к функциям в ecp, которые вам нужны с ecp::function_name(); вам не нужно его загружать   -  person Phil    schedule 17.05.2017


Ответы (1)


Предположим, мне нужно отсоединить конкретный пакет, который будет использовать следующий код:

detach("package:data.table")

но хочет отсоединить все пакеты (базовые пакеты будут доступны по умолчанию)

lapply(paste('package:',names(sessionInfo()$otherPkgs),sep=""),detach,character.only=TRUE,unload=TRUE)
person sai saran    schedule 16.11.2018