gpt4 book ai didi

r - 从一个函数中加载一个包

转载 作者:行者123 更新时间:2023-12-02 17:03:23 25 4
gpt4 key购买 nike

除了一个函数,我想加载整个包。

我看到了解决方法,例如 How to load only specific functions from a package但这并不能满足我的全部需求。

具体问题是在 MASS 和 tidyverse 包中使用加载 select() 函数,但我想要一个更通用的解决方案。

谢谢。

最佳答案

有三种很好的方法可以做到这一点,难度越来越大:

1。 冲突

它会检查名称冲突,如果您这样做,将通过抛出错误来阻止您使用屏蔽或屏蔽函数。但是您可以声明一个 session 范围的偏好,例如:

conflict_prefer("filter", "dplyr")
#> [conflicted] Will prefer dplyr::filter over any other package

conflicted on Github

2。 导入

它允许您显式地从包中导入特定的函数(如果您愿意,还可以给它们一个自定义名称)

import::from(ggplot2, g = ggplot, aes, geom_point)
g(iris, aes(Petal.Width, Petal.Length)) + geom_point()

import on Github

3。 模块

它为您提供了一种类似 Python 的方式来导入模块(编写为 R 源文件)和库,并以一种更具凝聚力的方式。好的(但先进的)事情是模块,如果它们有子组,可以部分加载,例如str = import('工具/字符串')。但是,这不适用于包,因为它们是作为整体编写的。模块在编码指南方面具有一些优势,但会迫使您编写:

dplyr = import_package('dplyr')
cars %>% dplyr$filter(speed > 15)

modules on Github

关于r - 从一个函数中加载一个包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52938644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com