我们如何在构建 R 包时设置常量变量?
How do we set constant variables while building R packages?
我们正在为我们的服务(巴西的机器人顾问)在 R 中构建一个包,我们一直在我们的函数内部向我们的外部 API 发送请求。
因为这是我们第一次构建包,所以我们有一些问题。 :(
当我们将我们的包用于 运行 一些脚本时,我们将需要一些信息作为 api_path, login, password
。
我们如何将这些信息放入包裹中?
这是一个真实的例子:
get_asset_daily <- function(asset_id) {
api_path <- "https://api.verios.com.br"
url <- paste0(api_path, "/assets/", asset_id, "/dailies?asc=d")
data <- fromJSON(url)
data
}
有时我们使用 API 的 staging
版本,我们必须不断切换路径。我们应该如何在我们的函数中调用它?
我们是否应该设置一个全局环境变量,一个包环境变量,只需在我们的脚本或包配置文件中定义api_path
?
我们该怎么做?
提前感谢您的帮助。
安娜
一种方法是使用 R 的选项界面。在 R 目录中创建一个文件 zzz.r
(这是该文件的习惯名称),内容如下:
.onLoad <- function(libname, pkgname) {
options(api_path='...', username='name', password='pwd')
}
这将在程序包加载到内存中时设置这些选项。
我们正在为我们的服务(巴西的机器人顾问)在 R 中构建一个包,我们一直在我们的函数内部向我们的外部 API 发送请求。
因为这是我们第一次构建包,所以我们有一些问题。 :(
当我们将我们的包用于 运行 一些脚本时,我们将需要一些信息作为 api_path, login, password
。
我们如何将这些信息放入包裹中?
这是一个真实的例子:
get_asset_daily <- function(asset_id) {
api_path <- "https://api.verios.com.br"
url <- paste0(api_path, "/assets/", asset_id, "/dailies?asc=d")
data <- fromJSON(url)
data
}
有时我们使用 API 的 staging
版本,我们必须不断切换路径。我们应该如何在我们的函数中调用它?
我们是否应该设置一个全局环境变量,一个包环境变量,只需在我们的脚本或包配置文件中定义api_path
?
我们该怎么做?
提前感谢您的帮助。
安娜
一种方法是使用 R 的选项界面。在 R 目录中创建一个文件 zzz.r
(这是该文件的习惯名称),内容如下:
.onLoad <- function(libname, pkgname) {
options(api_path='...', username='name', password='pwd')
}
这将在程序包加载到内存中时设置这些选项。