CRAN Package Repository Tools

Tools for obtaining information about current packages in the CRAN package repository, and their check status.


CRAN_check_results(flavors = NULL) CRAN_check_details(flavors = NULL) CRAN_check_issues() summarize_CRAN_check_status(packages, results = NULL, details = NULL, issues = NULL)


a character vector of package names.


a character vector of CRAN check flavor names, or NULL (default), corresponding to all available flavors.


the return value of CRAN_check_results() (default), or a subset of this.


the return value of CRAN_check_details() (default), or a subset of this.


the return value of CRAN_check_issues() (default), or a subset of this.


CRAN_package_db() returns a character data frame with most DESCRIPTION metadata for the current packages in the CRAN package repository, including in particular the Description and Maintainer information not provided by utils::available.packages().

CRAN_check_results() returns a data frame with the basic CRAN package check results including timings, with columns Package, Flavor and Status giving the package name, check flavor, and overall check status, respectively.

CRAN_check_details() returns a data frame inheriting from class "check_details" (which has useful print and format methods) with details on the check results, providing check name, status and output for every non-OK check (via columns Check, Status and Output, respectively). Packages with all-OK checks are indicated via a * Check wildcard name and OK Status.

CRAN_check_issues() returns a character frame with additional check issues (including the memory-access check results made available from and the without-long-double check results from, as a character frame with variables Package, Version, kind (an identifier for the issue) and href (a URL with information on the issue).

CRAN_memtest_notes() is now deprecated, with its functionality integrated into that of CRAN_check_issues().


See ‘Details’. Note that the results are collated on CRAN: currently this is done in a locale which sorts aAbB ….

Which CRAN?

The main functions access a CRAN mirror specified by the environment variable R_CRAN_WEB, defaulting to one specified in the repositories file (see setRepositories): if that specifies @CRAN@ (the default) then is used. (Note that options("repos") is not consulted.)

Note that these access parts of CRAN under web/contrib and web/packages so if you have specified a mirror of just src/contrib for installing packages you will need to set R_CRAN_WEB to point to a full mirror.

  • CRAN_package_db
  • CRAN_check_results
  • CRAN_check_details
  • CRAN_check_issues
  • CRAN_memtest_notes
  • summarize_CRAN_check_status
library(tools) # NOT RUN { ## This can be rather slow, especially with a non-local CRAN mirror ## and would fail (slowly) without Internet access in that case. set.seed(11) # but the packages chosen will change as soon as CRAN does. pdb <- CRAN_package_db() dim(pdb) ## DESCRIPTION fields included: colnames(pdb) ## Summarize publication dates: summary(as.Date(pdb$Published)) ## Summarize numbers of packages according to maintainer: summary(lengths(split(pdb$Package, pdb$Maintainer))) ## Packages with 'LASSO' in their Description: pdb$Package[grepl("LASSO", pdb$Description)] results <- CRAN_check_results() ## Available variables: names(results) ## Tabulate overall check status according to flavor: with(results, table(Flavor, Status)) details <- CRAN_check_details() ## Available variables: names(details) ## Tabulate checks according to their status: tab <- with(details, table(Check, Status)) ## Inspect some installation problems: bad <- subset(details, ((Check == "whether package can be installed") & (Status != "OK"))) ## Show a random sample of up to 6 head(bad[sample(seq_len(NROW(bad)), NROW(bad)), ]) issues <- CRAN_check_issues() head(issues) ## Show counts of issues according to kind: table(issues[, "kind"]) ## Summarize CRAN check status for 10 randomly-selected packages ## (reusing the information already read in): pos <- sample(seq_len(NROW(pdb)), 10L) summarize_CRAN_check_status(pdb[pos, "Package"], results, details, issues) # }
Documentation reproduced from package tools, version 3.4.3, License: Part of R 3.4.3

Community examples

Looks like there are no examples yet.