Trawl a local CRAN archive and extract statistics from all packages
Source:R/cran-data-archive.R
pkgstats_from_archive.Rd
Trawl a local CRAN archive and extract statistics from all packages
Usage
pkgstats_from_archive(
path,
archive = TRUE,
prev_results = NULL,
results_file = NULL,
chunk_size = 1000L,
num_cores = 1L,
save_full = FALSE,
save_ex_calls = FALSE,
results_path = fs::path_temp()
)
Arguments
- path
Path to local archive of R packages, either as source directories, or '.tar.gz' files such as in a CRAN mirror.
- archive
If
TRUE
, extract statistics for all packages in the/Archive
sub-directory, otherwise only statistics for main directory (that is, current packages only).- prev_results
Result of previous call to this function, if available. Submitting previous results will ensure that only newer packages not present in previous result will be analysed, with new results simply appended to previous results. This parameter can also specify a file to be read with
readRDS()
.- results_file
Can be used to specify the name or full path of a
.Rds
file to which results should be saved once they have been generated. The '.Rds' extension will be automatically appended, and any other extensions will be ignored.- chunk_size
Divide large archive trawl into chunks of this size, and save intermediate results to local files. These intermediate files can be combined to generate a single
prev_results
file, to enable jobs to be stopped and re-started without having to recalculate all results. These files will be namedpkgstats-results-N.Rds
, where "N" incrementally numbers each file.- num_cores
Number of machine cores to use in parallel, defaulting to single-core processing.
- save_full
If
TRUE
, full pkgstats results are saved for each package to files inresults_path
.- save_ex_calls
If
TRUE
, the results of theexternal_calls
component are saved for each package to files inresults_path
(only ifsave_full = FALSE
).- results_path
Path to save intermediate files generated by the
chunk_size
parameter described above.
Value
A data.frame
object with one row for each package containing
summary statistics generated from the pkgstats_summary function.
See also
Other archive:
dl_pkgstats_data()
,
pkgstats_cran_current_from_full()
,
pkgstats_fns_from_archive()
,
pkgstats_fns_update()
,
pkgstats_update()
Examples
# Create fake archive directory with single tarball:
f <- system.file ("extdata", "pkgstats_9.9.tar.gz", package = "pkgstats")
tarball <- basename (f)
archive_path <- file.path (tempdir (), "archive")
if (!dir.exists (archive_path)) {
dir.create (archive_path)
}
path <- file.path (archive_path, tarball)
file.copy (f, path)
#> [1] TRUE
tarball_path <- file.path (archive_path, "tarballs")
dir.create (tarball_path, recursive = TRUE)
file.copy (path, file.path (tarball_path, tarball))
#> [1] TRUE
if (FALSE) { # \dontrun{
out <- pkgstats_from_archive (tarball_path)
} # }