我想获得一个对象的名称,该对象被输入到另一个名称的函数中。给定
new_object = 10
fun1 <- function(fun_input){
...
}
fun1(fun_input = new_object)
fun1
的期望输出应该是字符串"new_object"
。
我在这里发布的解决方案中尝试了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