首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >函数无法加载多个包。

函数无法加载多个包。
EN

Stack Overflow用户
提问于 2017-09-30 05:21:17
回答 3查看 5.2K关注 0票数 2

当我把看门人包和其他包放在一起时,它没有加载。

图书馆(弥撒,插入符号,stepPlr,看门人)

库中的错误(海量、插入符号、stepPlr、看门人):找不到对象“看门人”

当我只使用janitor包单独运行该命令时,它被加载到会话中;没有错误。

代码语言:javascript
复制
> library(janitor)
Warning message:
package ‘janitor’ was built under R version 3.3.3 

一次包含x个包有任何限制吗?或者我的RStudio有什么问题?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-09-30 06:10:27

library()函数不是用来加载多个库的,更好的方法是创建一个包列表,并使用require()来检查它们是否已安装,如果没有安装,则检查它们是否安装。见下面的例子:

代码语言:javascript
复制
requiredPackages <- c("MASS", "caret", "stepPlr", "janitor")


ipak <- function(pkg){
        new.pkg <- pkg[!(pkg %in% installed.packages()[, "Package"])]
        if (length(new.pkg))
                install.packages(new.pkg, dependencies = TRUE)
        sapply(pkg, require, character.only = TRUE)
}

ipak(requiredPackages)
票数 4
EN

Stack Overflow用户

发布于 2017-10-13 17:17:37

来自p_load包的函数pacman允许列出这样的多个包,如果还没有这样的包,将安装它们:

代码语言:javascript
复制
library(pacman)
p_load(MASS, caret, stepPlr, janitor)

这不仅对用户友好,而且还提高了在多个用户或环境中运行相同脚本的可重复性。

票数 4
EN

Stack Overflow用户

发布于 2022-06-20 16:20:41

直截了当的答案由@Technophobe01 01表示

代码语言:javascript
复制
sapply(c('MASS', 'caret', 'stepPlr', 'janitor'), require, character.only = TRUE)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46499817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档