こんにちは、誰でもこれを手伝ってもらえますか? 変数を使用してベクトルを呼び出そうとしています。例えば?
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
。ただし、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
または使用しますeval(parse(text=var))
。