Согласно комментариям, вы можете посмотреть на сборку пакета и включить требования в файл DESCRIPTION. Если вы говорите о запуске сценария .R «в производство», вы можете поместить функцию в начале, чтобы убедиться, что необходимые пакеты установлены. Вот что-то похожее на то, что есть в моем собственном пакете, и я могу вызвать pkgLoad( <list of packages> )
в начале любого скрипта, чтобы убедиться, что пакеты установлены и загружены. Я включаю список моих любимых пакетов, так что вызов pkgLoad()
устанавливает и загружает все мои обычные подозрения:
pkgLoad <- function( packages = "favourites" ) {
if( length( packages ) == 1L && packages == "favourites" ) {
packages <- c( "data.table", "chron", "plyr", "dplyr", "shiny",
"shinyjs", "parallel", "devtools", "doMC", "utils",
"stats", "microbenchmark", "ggplot2", "readxl",
"feather", "googlesheets", "readr", "DT", "knitr",
"rmarkdown", "Rcpp"
)
}
packagecheck <- match( packages, utils::installed.packages()[,1] )
packagestoinstall <- packages[ is.na( packagecheck ) ]
if( length( packagestoinstall ) > 0L ) {
utils::install.packages( packagestoinstall,
repos = "http://cran.csiro.au"
)
} else {
print( "All requested packages already installed" )
}
for( package in packages ) {
suppressPackageStartupMessages(
library( package, character.only = TRUE, quietly = TRUE )
)
}
}
Примечание. Я встроил в функцию свое любимое зеркало CRAN, поэтому убедитесь, что вы отредактировали его для своих нужд.
person
rosscova
schedule
13.08.2016
.Rprofile
файле. - person IRTFM   schedule 13.08.2016packrat
- person hrbrmstr   schedule 13.08.2016Error in library(xxx) : there is no package called ‘xxx’
. - person Giacomo   schedule 14.04.2018pip
? Я думаю, что это последнее. - person ytu   schedule 10.06.2018