他の言語でも同様の質問が提起されています: [〜#〜] c [〜#〜] 、 sql 、 Java など.
しかし、私はこれをRで実行しようとしています。
私が持っています:
ret_series <- c(1, 2, 3)
x <- "ret_series"
(1, 2, 3)
に直接言及せずに、x
で何らかの関数/操作を呼び出すことでret_series
を取得するにはどうすればよいですか?
質問に答えを提供しました。 get
を試してください。
> get(x)
[1] 1 2 3
1回限りの使用の場合、get関数は(前述したように)機能しますが、大規模なプロジェクトにはうまく対応できません。リストまたは環境にデータを保存してから、[[を使用して個々の要素にアクセスすることをお勧めします。
mydata <- list( ret_series=c(1,2,3) )
x <- 'ret_series'
mydata[[x]]
次のいずれかに問題がありますか?
eval(as.name(x))
eval(as.symbol(x))
上記の例の一部は、_data.frame
_では機能しないことに注意してください。
たとえば、与えられた
x <- data.frame(a=seq(1,5))
get("x$a")
は_x$a
_を提供しません。