嗨,有人可以帮忙吗?我正在尝试使用变量调用向量。例如?
var <- 'apple'
apple <- c(1,2,3)
但现在说我有一堆向量apple
,我写了一个函数,我刚刚得到了var
变量。如何使用 访问apple
向量var
?我试过eval(var)
了,但这并没有达到我想要的效果。谢谢你。
嗨,有人可以帮忙吗?我正在尝试使用变量调用向量。例如?
var <- 'apple'
apple <- c(1,2,3)
但现在说我有一堆向量apple
,我写了一个函数,我刚刚得到了var
变量。如何使用 访问apple
向量var
?我试过eval(var)
了,但这并没有达到我想要的效果。谢谢你。
利用get
get(var)
# [1] 1, 2, 3
正如@mnel 所说,您可以使用get
. list
但是,使用s可能有更好的方法来解决这个问题。
如果你list
打电话说fruit
:
apple <- 1:3
orange <- 4:6
pear <- 7:9
fruit <- list(apple=apple,orange=orange,pear=pear)
#$apple
#[1] 1 2 3
#
#$orange
#[1] 4 5 6
#
#$pear
#[1] 7 8 9
fruit
然后,您可以像这样调用使用您拥有的名称的元素var
:
var <- "apple"
# get the whole list element named "apple"
fruit[var]
#$apple
#[1] 1 2 3
# get the contents of the list element named "apple"
fruit[[var]]
#[1] 1 2 3
如果var
列出了几个不同的水果名称,它也可以:
var <- c("apple","orange")
fruit[var]
#$apple
#[1] 1 2 3
#
#$orange
#[1] 4 5 6
或使用eval(parse(text=var))
.