68

Csqljavaなど、他の言語についても同様の質問が提起されています。

しかし、私はRでこれをやろうとしています.

私は持っている:

ret_series <- c(1, 2, 3)
x <- "ret_series"

に直接言及せずに、(1, 2, 3)関数/操作を呼び出して取得するにはどうすればよいですか?xret_series

4

4 に答える 4

96

あなたはあなたの質問で答えを提供しました。試してみてくださいget

> get(x)
[1] 1 2 3
于 2010-10-19T19:14:52.550 に答える
19

1 回限りの使用の場合、get 関数は (前述のように) 機能しますが、大規模なプロジェクトにはうまく拡張できません。データをリストまたは環境に保存してから、 [[ を使用して個々の要素にアクセスすることをお勧めします。

mydata <- list( ret_series=c(1,2,3) )
x <- 'ret_series'

mydata[[x]]
于 2010-10-19T21:14:49.150 に答える
8

次のいずれかの何が問題になっていますか?

eval(as.name(x))

eval(as.symbol(x))
于 2010-10-21T13:59:16.503 に答える
3

上記の例の一部は、data.frame.

たとえば、与えられた

x <- data.frame(a=seq(1,5))

get("x$a")あなたに与えませんx$a

于 2013-11-20T16:20:41.413 に答える