在 R 中的另一个变量中调用一个变量名
Call a variable name within another variable in R
我有一个变量:
Person1 = "friend"
我保存在第二个变量中,即:
Real_friend = Person1
是否可以有这样的功能:
output <- myfunc(Real_friend)
myfunc <- function(v1) {
# do something with v1
# so that it prints "Person1" when
# this function is called
#
# instead of "friend"
return ()
}
output = "Person1"
我已经尝试应用方法:deparse(substitute(v1)) 建议在这里:
How to convert variable (object) name into String
但是好像不行。
非常感谢
当你写Real_friend = Person1
时,R只是将Person1的内容放入Real_friend,它不会保存任何记录这是通过Person1完成的。您可以做的一件事是将 "Person1"
传递给 Real_friend,然后在需要 "Person1
时调用 Real_friend
作为输出,或者调用 get(Real_Friend)
当你想要 Person1.
的内容时
Person1<-"John"
> Real_friend<-"Person1"
> Real_friend
[1] "Person1"
> get(Real_friend)
[1] "John"
使用您提供的 link 实现类似目标的第二种方法是:
> Real_friend<-substitute(Person1)
现在 Real_friend
的内容是 Person1
的未评估调用:
> Real_friend
Person1
您可以使用 deparse
获取变量名称作为字符串,或者您可以使用 eval
:
获取变量的内容
> deparse(Real_friend)
[1] "Person1"
> eval(Real_friend)
[1] "John"
同样,none 这些选项允许您从 Real_friend<-Person1
开始。
我有一个变量:
Person1 = "friend"
我保存在第二个变量中,即:
Real_friend = Person1
是否可以有这样的功能:
output <- myfunc(Real_friend)
myfunc <- function(v1) {
# do something with v1
# so that it prints "Person1" when
# this function is called
#
# instead of "friend"
return ()
}
output = "Person1"
我已经尝试应用方法:deparse(substitute(v1)) 建议在这里:
How to convert variable (object) name into String
但是好像不行。 非常感谢
当你写Real_friend = Person1
时,R只是将Person1的内容放入Real_friend,它不会保存任何记录这是通过Person1完成的。您可以做的一件事是将 "Person1"
传递给 Real_friend,然后在需要 "Person1
时调用 Real_friend
作为输出,或者调用 get(Real_Friend)
当你想要 Person1.
Person1<-"John"
> Real_friend<-"Person1"
> Real_friend
[1] "Person1"
> get(Real_friend)
[1] "John"
使用您提供的 link 实现类似目标的第二种方法是:
> Real_friend<-substitute(Person1)
现在 Real_friend
的内容是 Person1
的未评估调用:
> Real_friend
Person1
您可以使用 deparse
获取变量名称作为字符串,或者您可以使用 eval
:
> deparse(Real_friend)
[1] "Person1"
> eval(Real_friend)
[1] "John"
同样,none 这些选项允许您从 Real_friend<-Person1
开始。