r - 将函数参数另存为字符
问题描述
我想将函数的参数保存为 r 中的变量。我试过 deparse,但在数据帧上它返回错误的东西。下面是我想要的。
dataframe <- data.frame(a=c(1, 2, 3), b=c(3, 6, 8))
afunction <- function(arg1, arg2) {
arg1_character <- deparse(arg1)
arg2_character <- deparse(arg2)
}
afunction(a ~ b, dataframe)
基于这个简单的例子,我想要以下输出:
arg1_character <- "a~b"
arg2_character <- "dataframe"
解决方案
试试deparse(substitute())
。
afunction <- function(arg1, arg2) {
arg1_character <- deparse(substitute(arg1))
arg2_character <- deparse(substitute(arg2))
c(arg1_character, arg2_character)
}
afunction(a ~ b, dataframe)
# [1] "a ~ b" "dataframe"
或者试试match.call()
afunction2 <- function(arg1, arg2) {
cat('Call:\n')
match.call()
}
afunction2(a ~ b, dataframe)
# Call:
# afunction2(arg1 = a ~ b, arg2 = dataframe)
推荐阅读
- python - 如何安装 mysql-client 并解决 ssl 错误?
- c# - 如何制作使两个 3D 对象的交集透明的着色器?
- r - 为什么 Broom 中的“Tidy”不能像 epi.2by2 对象那样工作?
- php - 如何正确解压 PHP 中的任何类型的 Protobuf
- apache-nifi - 属性上的 Nifi 正则表达式
- r - 如何让 max() 返回变量名而不是 R 中变量的内容?
- angular - 从 Angular 应用程序调用 OKTA url 会给出 404 但在浏览器中有效
- c++ - sizeof 函数如何在有和没有位域的结构上工作?(填充)
- javascript - Highcharts - 如何将 yAxis 标签格式化为单个数字?
- python - 在 gitlab-ci 中运行声纳扫描仪