r - 在 R API 函数调用中将参数名称设置为变量
问题描述
我正在使用具有以下语法的函数的 R API:
somefun(...)
一个示例调用:
somefun(foo = list(a = 10, b = 20))
由于可以使用此函数设置许多变量(不仅仅是“foo”),如何将“foo”更改为脚本中的变量名?就像是:
x = "foo" ## or x = "bar", etc
somefun(x = list(a = 10, b = 20))
解决方案
可能不是最干净的。您可以使用eval
+parse
somefun <- function(...) {
as.list(match.call())[-1]
}
somefun(foo = list(a = 10, b = 20))
#$foo
#list(a = 10, b = 20)
eval(parse(text=paste0("somefun(", x, " = list(a = 10, b = 20))")))
#$foo
#list(a = 10, b = 20)
推荐阅读
- memory - 为什么编译后会分配两块内存区域,是不是很浪费内存?
- html - 页脚没有响应应有的响应
- azure - 如何将 Orchard Core 从 localhost 部署到 Azure
- css - 边框在出现时正在移动 div
- webhooks - 使用 Webhook 触发器从 Zap 响应源
- python - python - 从原始 ext4 图像读取文件信息和权限
- reactjs - 如何使用 Azure AD 获取用户配置文件详细信息
- webpack - 网页包。构建组件库
- node.js - node.js node-red - 将 Base64 字符串转换为 uint8array
- java - 在两个元素之间替换数字 Java 中的 .(dot)