available.packages {utils} | R Documentation |
available.packages
returns a matrix of details corresponding to
packages currently available at one or more repositories. The
current list of packages is downloaded over the internet (or copied
from a local mirror).
available.packages(contriburl = contrib.url(getOption("repos"), type), method, fields = NULL, type = getOption("pkgType"), filters = NULL)
contriburl |
URL(s) of the ‘contrib’ sections of the repositories. Specify this argument only if your repository mirror is incomplete, e.g., because you burned only the ‘contrib’ section on a CD. |
method |
download method, see |
type |
character string, indicate which type of packages: see
|
fields |
a character vector giving the fields to extract from
the ‘PACKAGES’ file(s) in addition to the default ones, or
|
filters |
a character vector or list or |
By default, this includes only packages whose version and OS requirements are met by the running version of R, and only gives information on the latest versions of packages.
Argument filters
can be used to select which of the packages on the
repositories are reported. It is called with its default value
(NULL
) by functions such as install.packages
: this value
corresponds to getOption("available_packages_filters")
and to c("R_version", "OS_type", "subarch", "duplicates")
if
that is unset or set to NULL
.
The built-in filters are
"R_version"
exclude packages whose R version requirements are not met
"OS_type"
exclude packages whose OS requirement is incompatible with this version of R: that is exclude Windows-only packages on a Unix-alike platform and vice versa.
"subarch"
for binary packages, exclude those with compiled code that is not available for the current sub-architecture, e.g. exclude packages only compiled for 32-bit Windows on a 64-bit Windows R.
"duplicates"
only report the latest version where more
than one version is available, and only report the first-named
repository (in contriburl
) with the latest version if that
is in more than one repository.
"license/FOSS"
include only packages for which installation can proceed solely based on packages which can be verified as Free or Open Source Software (FOSS, e.g., http://en.wikipedia.org/wiki/FOSS) employing the available license specifications. Thus both the package and any packages that it depends on to load need to be known to be FOSS.
Note that this does depend on the repository supplying license information.
If all the filters are from this set they can be specified as a
character vector; otherwise filters
should be a list with
elements which are character strings, user-defined functions or
add = TRUE
(see below).
User-defined filters are functions which take a single argument, a
matrix of the form returned by by available.packages
, and
return a matrix consisting of a subset of the rows of the argument.
The special ‘filter’ add = TRUE
appends the other
elements of the filter list to the default filters.
A matrix with one row per package, row names the package names and
column names "Package"
, "Version"
, "Priority"
,
"Depends"
, "Imports"
, "LinkingTo"
,
"Suggests"
, "Enhances"
, "OS_type"
,
"License"
, "File"
and "Repository"
. Additional
columns can be specified using the fields
argument.
install.packages
, download.packages
,
contrib.url
.
The ‘R Installation and Administration’ manual for how to set up a repository.
## Not run: ## restrict install.packages() (etc) to known-to-be-FOSS packages options(available_packages_filters = c("R_version", "OS_type", "subarch", "duplicates", "license/FOSS")) ## End(Not run)