根据评论,您可能希望考虑构建一个包,并在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镜像嵌入到函数中,请确保根据自己的需求进行更改。
.Rprofile
文件中的内容。 - IRTFMpackrat
。 - hrbrmstrpip
是否提供了requirements.txt的功能?我认为应该是后者。 - ytu