2

こんにちは、誰でもこれを手伝ってもらえますか? 変数を使用してベクトルを呼び出そうとしています。例えば?

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

しかし、今では、次のようなベクトルがたくさんあり、変数appleが与えられた関数を書いているとします。でベクトルvarにアクセスするにはどうすればよいですか? 私は試しましたが、それは私が望むものを達成しません。ありがとうございました。applevareval(var)

4

3 に答える 3

3

使用するget

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

@mnel が指摘しているように、使用できますget。ただし、s を使用してこれを行うには、おそらくより良い方法がありlistます。

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 に答える