R语言中有类似requirements.txt的东西吗?[已关闭]

nwsw7zdq  于 8个月前  发布在  R语言
关注(0)|答案(1)|浏览(64)

已关闭,此问题需要details or clarity。它目前不接受回答。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。

7年前关闭。
社区在1年前审查了是否重新讨论这个问题,并关闭了它:
原始关闭原因未解决
Improve this question
在Python中,你可以有一个文件requirements.txt,你可以在其中存储一个文件中使用的包列表,当其他人想要运行你的程序并需要安装依赖项时,他们可以只执行pip install -r requirements.txt
我认为这在将R脚本部署到生产中时有很大帮助。R也有这样的东西吗?如果没有这样的功能,如何复制它?

j0pj023g

j0pj023g1#

根据注解,您可能希望构建一个包,并在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镜像,所以请确保您根据自己的需要编辑它。

相关问题