R在输入另一个函数时获取对象名称
R get object name when is input of another function
我想获取输入到具有另一个名称的函数中的对象的名称。
鉴于
new_object = 10
fun1 <- function(fun_input){
...
}
fun1(fun_input = new_object)
fun1
的期望输出应该是字符串 "new_object"
。
我按照 here 发布的解决方案中的建议尝试了 deparse
和 substitute
,但我只得到 "fun_input"
作为输出。
谢谢
你能分享你的代码吗?我得到输出没问题。
new_object = 10
new_object
[1] 10
fun1 <- function(fun_input) {
deparse(substitute(fun_input))
}
fun1(new_object)
[1] "new_object"
也许您正在寻找这个:
我怀疑在你的函数中你正在做(评估)fun_input
进一步的步骤(例如循环等......)问题是从你第一次使用 fun_input
它是一个评估表达式(准结果)。为避免这种情况,我们必须使用 substitute
.
捕获 fun_input
现在你得到了一个对象new_object
,它可以被视为一个列表:
fun1 <- function(fun_input) {
substitute(fun_input)
}
fun1(new_object)
new_object
new_object[[1]]
[1] 10
我想获取输入到具有另一个名称的函数中的对象的名称。 鉴于
new_object = 10
fun1 <- function(fun_input){
...
}
fun1(fun_input = new_object)
fun1
的期望输出应该是字符串 "new_object"
。
我按照 here 发布的解决方案中的建议尝试了 deparse
和 substitute
,但我只得到 "fun_input"
作为输出。
谢谢
你能分享你的代码吗?我得到输出没问题。
new_object = 10
new_object
[1] 10
fun1 <- function(fun_input) {
deparse(substitute(fun_input))
}
fun1(new_object)
[1] "new_object"
也许您正在寻找这个:
我怀疑在你的函数中你正在做(评估)fun_input
进一步的步骤(例如循环等......)问题是从你第一次使用 fun_input
它是一个评估表达式(准结果)。为避免这种情况,我们必须使用 substitute
.
fun_input
现在你得到了一个对象new_object
,它可以被视为一个列表:
fun1 <- function(fun_input) {
substitute(fun_input)
}
fun1(new_object)
new_object
new_object[[1]]
[1] 10