類似的問題都提出了其他語言:C,sql,java等,但我想這樣做在R.訪問變量值,其中變量的名稱存儲在一個字符串中的R
我有
ret_series <- c(1, 2, 3);
x <- "ret_series";
如何獲得(1, 2, 3)
通過調用x
一些功能/操作,而不直接ret_series
提?
類似的問題都提出了其他語言:C,sql,java等,但我想這樣做在R.訪問變量值,其中變量的名稱存儲在一個字符串中的R
我有
ret_series <- c(1, 2, 3);
x <- "ret_series";
如何獲得(1, 2, 3)
通過調用x
一些功能/操作,而不直接ret_series
提?
你在你的問題中提供了答案。嘗試get
。
> get(x)
[1] 1 2 3
對於一次性使用,get函數的工作原理(如前所述),但它不能很好地適應大型項目。最好將數據存儲在列表或環境中,然後使用[[以訪問各個元素:
mydata <- list(ret_series=c(1,2,3))
x <- 'ret_series'
mydata[[x]]
以下兩種情況有什麼問題?
eval(as.name(x))
eval(as.symbol(x))
從控制檯粘貼代碼時要小心。 StackOverflow將「>」解釋爲引用。使用0101010符號來格式化代碼。並歡迎SO;) – Marek 2010-10-21 14:06:38
請注意,上面的一些示例不適用於data.frame
。
例如,給定
x <- data.frame(a=seq(1,5))
get("x$a")
不會給你x$a
。
'get(「x」)$ a'會起作用。 – 2013-11-20 17:29:14
另請參閱:http://stackoverflow.com/questions/2948367/pass-variable-name-to-a-function-in-r – 2010-10-19 22:28:35
FWIW,每個語句末尾的分號不是必需的。 – 2010-10-20 07:26:26