Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将本地库与先决条件一起加载到R中_R_Install.packages - Fatal编程技术网

将本地库与先决条件一起加载到R中

将本地库与先决条件一起加载到R中,r,install.packages,R,Install.packages,例如,我有一个本地扫帚包,它有几个必备库,例如后端口 install.packages("broom",lib=file.path(Sys.getenv("userprofile"),"desktop","project")) 我发现以下库没有同时加载必要的先决条件 library(broom,lib.loc=file.path(Sys.getenv("userprofile"),"d

例如,我有一个本地
扫帚
包,它有几个必备库,例如
后端口

install.packages("broom",lib=file.path(Sys.getenv("userprofile"),"desktop","project"))
我发现以下
没有同时加载必要的先决条件

library(broom,lib.loc=file.path(Sys.getenv("userprofile"),"desktop","project"))

自从
install.packages
一起下载之后,我就已经具备了这些先决条件。在加载我想要使用的包(即,
broom
)之前,是否应该加载所有必备库(如
backport
)?

我制作了这个函数,基本上加载传递包的依赖项,现在您只需在加载
broom
之前运行它,然后它就会加载依赖项

# loads dependencies of passed packages
# can be used in two forms :
#     load.dep(broom, tidyr)
#.    load.dep("broom", "tidyr")
load.dep <- function(...){
    x <- as.list(substitute(...()))
    stopifnot(length(x)>0)
    x <- sapply(x, as.character)
    avp <- available.packages()
    pkgs <- unlist(strsplit(avp[x, c("Imports","Depends")], split=" ?(\\([^)]+?\\))?, ?"), use.names=F)
    invisible(lapply(pkgs[!grepl('^(\\n|R )', pkgs)], library, character.only=T))
}
#加载传递的包的依赖项
#可采用两种形式:
#装载深度(扫帚,三年)
#.load.dep(“扫帚”、“三天”)

load.dep加载库时,通常不需要指定依赖项。是否确实在
file.path(Sys.getenv(“userprofile”)、“desktop”、“project”)
中安装了依赖项?是的,第一个代码将
backport
以及
broom
安装到桌面。
# loads dependencies of passed packages
# can be used in two forms :
#     load.dep(broom, tidyr)
#.    load.dep("broom", "tidyr")
load.dep <- function(...){
    x <- as.list(substitute(...()))
    stopifnot(length(x)>0)
    x <- sapply(x, as.character)
    avp <- available.packages()
    pkgs <- unlist(strsplit(avp[x, c("Imports","Depends")], split=" ?(\\([^)]+?\\))?, ?"), use.names=F)
    invisible(lapply(pkgs[!grepl('^(\\n|R )', pkgs)], library, character.only=T))
}