此问题已在此处有答案:
Is it a good practice to call functions in a package via ::(1个答案)
4天前关闭。
这是可重复的最小数据集和函数,因为它不是重点。我的真实的函数非常复杂,但这不是这里的重点。
id <- 1:30
x<-rnorm(30,1,10)
y<-rnorm(30,1,10)
data<-data.frame(id,x,y)
try<-function(data,
x,
y){
require(tidyverse)
data<-data %>%
mutate(new=x+y)
return(data)
}
我得到的反馈是
1)一般来说,避免在函数中使用require()或library()是一个很好的做法。
然而,我在我的用户定义函数中使用了tidyverse语法(%〉% etc),所以如果我不使用require(),我会很困惑我有什么选择。
1条答案
按热度按时间6jygbczu1#
一般来说,最好在一个地方列出所有依赖项。如果你的分析只包含一个脚本,那么依赖项应该列在脚本的顶部。如果你使用的是R项目,你可以使用一个单独的脚本,或者更好的是使用renv。如果你使用的是R包,依赖项会在包文档中列出。
因此,在您的情况下,您可以:
1:在脚本之上加载所需的包:
2.使用“::”只调用需要的函数:
第二种方法可能更适合只使用给定包中的少数函数的情况。另外,请注意,要使dplyr::mutate工作,您需要安装dplyr包。