R 如何自动安装所有必需的软件包?
现在,我使用以下方法解决依赖关系:R 如何自动安装所有必需的软件包?,r,rstudio,R,Rstudio,现在,我使用以下方法解决依赖关系: 源文件 如果它抱怨需要程序包X,请安装程序包X 转到1 如果有大量必需的包,这可能会变得单调乏味。是否有一个命令可以确定每个必需的包,然后自动安装它们 我有RStudio 0.98.1056和r3.3.1。我使用此代码在R脚本中查找所有必要的包 # list packages in an R file filename <- "C:/Data/Documents/R/myFile.R" tmp <- getParseData(parse(
我有RStudio 0.98.1056和r3.3.1。我使用此代码在R脚本中查找所有必要的包
# list packages in an R file
filename <- "C:/Data/Documents/R/myFile.R"
tmp <- getParseData(parse(filename, keep.source=TRUE))
crit <- quote(token == "SYMBOL_FUNCTION_CALL")
tmp <- dplyr::filter(tmp, .dots = crit)
tmp <- unique(sort(tmp$text))
src <- paste(as.vector(sapply(tmp, find)))
outlist <- tapply(tmp,factor(src),c)
outlist
#在R文件中列出包
文件名您可以使用软件包。p\u load
函数查看列出的软件包是否已安装,如果缺少则安装,然后再加载。下面是我的r-Shining应用程序示例实现
if(!require('pacman'))install.packages('pacman'))
pacman::p_load(shiny、shinyjs、httr、jsonlite、tidyverse)
构建一个包。然后,当您安装它时,所有依赖项都可以安装。如果没有安装软件包,这将如何工作find
返回字符(0)
如果未找到,对吗?这里最好有一些解释。
library(sos)
toInstall <- outlist$`character(0)`
for(i in 1:length(toInstall)){
newPackage<-findFn(toInstall[i])[1,4]
if (!require(newPackage,character.only = TRUE)) {
install.packages(newPackage)
library(newPackage,character.only = TRUE)
}
print(newPackage)
}