Функция packageHasNamespace
удерживает клавишу. Используйте его вместе с installed.packages
:
Следующий код перебирает все местоположения библиотеки в .libPaths
:
pkgNS <- NULL
for(i in seq_along(.libPaths())){
libLoc <- .libPaths()[i]
pkgs <- installed.packages(lib.loc=libLoc)[, 1]
pkgNS <- c(pkgNS,
sapply(unname(pkgs), packageHasNamespace, package.lib=libLoc)
)
}
Результатом этого кода является именованный логический вектор pkgNS
, который ИСТИНА, если у пакета есть пространство имен, ЛОЖЬ, если его нет.
Чтобы получить только те пакеты, которые не имеют пространства имен, создайте подмножество pkgNS
, где pkgNS
- ЛОЖЬ:
pkgNS[!pkgNS]
abind bitops CircStats combinat corpcor deldir
FALSE FALSE FALSE FALSE FALSE FALSE
Design evd financial fpc getopt gsubfn
FALSE FALSE FALSE FALSE FALSE FALSE
ineq magic mlbench optparse plotrix ppcor
FALSE FALSE FALSE FALSE FALSE FALSE