gpt4 book ai didi

r - 使用 `file::function` 命名间距 R 文件的最简单方法是什么

转载 作者:行者123 更新时间:2023-12-02 16:30:09 25 4
gpt4 key购买 nike

回答这个问题的标准

给定以下函数(在其自己的脚本中)

# something.R
hello <- function(x){
paste0("hello ", x)
}

启用以下功能的最少设置量是多少

library(something)
x <- something::hello('Sue')
# x now has value: "hello Sue"

上下文

在 python 中,拥有一个包含一些代码的目录并将其用作

# here foo is a directory
from foo import bar
bar( ... )

虽然我不确定如何在 R 中做类似的事情。

我知道有 source(file.R),但这会将所有内容放入全局命名空间。我还知道 library(package) 提供了 package::function。我不确定是否有一种在 R 中使用此命名空间的简单方法。我搜索的打包教程似乎非常复杂(与 Python 相比)。

最佳答案

我不知道为一个快速函数创建一个命名空间是否真的有好处。这不是它应该的样子(我认为)。

但无论如何,这是一个相当简约的解决方案:

首先安装一次:install.packages("namespace")

您想在命名空间中调用的函数:

hello <- function(x){
paste0("hello ", x)
}

创建命名空间,分配函数并导出

ns <- namespace::makeNamespace("newspace")
assign("hello",hello ,env = ns)
base::namespaceExport(ns, ls(ns))

现在您可以使用您的新命名空间调用您的函数

newspace::hello("you")

关于r - 使用 `file::function` 命名间距 R 文件的最简单方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63663514/

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