将函数参数保存为字符
Save function argument as character
我想将函数的参数保存为 r 中的变量。
我试过 deparse,但在数据帧上它 returns 是错误的。下面是我想要的。
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)
我想将函数的参数保存为 r 中的变量。 我试过 deparse,但在数据帧上它 returns 是错误的。下面是我想要的。
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)