當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R installed.packages 查找已安裝的軟件包


R語言 installed.packages 位於 utils 包(package)。

說明

查找(或檢索)指定庫中安裝的所有軟件包的詳細信息。

用法

installed.packages(lib.loc = NULL, priority = NULL,
                   noCache = FALSE, fields = NULL,
                   subarch = .Platform$r_arch, ...)

參數

lib.loc

說明位置的特征向量R要搜索的庫樹,或者NULL對於所有已知的樹(參見.libPaths)。

priority

字符向量或NULL(默認)。如果非空,則用於選擇包; "high" 相當於 c("base", "recommended") 。要選擇沒有指定優先級的所有包,請使用 priority = NA_character_

noCache

不要使用緩存的信息,也不要緩存它。

fields

一個字符向量,給出從每個包的‘中提取的字段DESCRIPTION' 文件除了默認文件之外,或者NULL(默認)。不可用的字段會導致NA值。

subarch

字符串或 NULL 。如果非空且非空,則用於選擇為該 sub-architecture 安裝的軟件包。

...

允許從其他函數傳遞未使用的參數。

細節

installed.packages掃描‘DESCRIPTION' 沿途找到的每個包的文件lib.loc並返回包名稱、庫路徑和版本號的矩陣。

找到的信息被緩存(按庫)以供R會話和指定fields參數,並且僅在頂級庫目錄已更改(例如通過安裝或刪除包)時更新。如果緩存的信息變得混亂,可以通過指定來避免noCache = TRUE.

每個包一行的矩陣,行名稱為包名稱,列名稱為(當前)"Package","LibPath","Version","Priority","Depends","Imports","LinkingTo","Suggests","Enhances","OS_type","License""Built"(這R構建包的版本)。可以使用以下命令指定附加列fields爭論。

注意

這需要讀取每個已安裝包的多個文件,這在 Windows 和某些 network-mounted 文件係統上會很慢。

當安裝數千個包時,它會很慢,因此不要使用它來查找是否安裝了指定的包(使用 find.packagesystem.file ),也不要使用它來查找包是否可用(調用 requireNamespacerequire 並檢查返回值)也找不到少量包的詳細信息(使用 packageDescription )。

例子

## confine search to .Library for speed
str(ip <- installed.packages(.Library, priority = "high"))
ip[, c(1,3:5)]
plic <- installed.packages(.Library, priority = "high", fields = "License")
## what licenses are there:
table( plic[, "License"] )

## Recommended setup (by many pros):
## Keep packages that come with R (priority="high") and all others separate!
## Consequently, .Library, R's "system" library, shouldn't have any
## non-"high"-priority packages :
pSys <- installed.packages(.Library, priority = NA_character_)
length(pSys) == 0 # TRUE under such a setup

也可以看看

update.packagesinstall.packagesINSTALLREMOVE

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Find Installed Packages。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。