2

嗨,有人可以帮忙吗?我正在尝试使用变量调用向量。例如?

var <- 'apple'
apple <- c(1,2,3)

但现在说我有一堆向量apple,我写了一个函数,我刚刚得到了var变量。如何使用 访问apple向量var?我试过eval(var)了,但这并没有达到我想要的效果。谢谢你。

4

3 回答 3

3

利用get

get(var)
# [1] 1, 2, 3
于 2013-07-25T02:37:47.660 回答
2

正如@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
于 2013-07-25T02:46:03.053 回答
2

或使用eval(parse(text=var)).

于 2013-07-25T02:40:01.073 回答