但我试图在 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))
请注意,上面的某些示例不适用于data.frame
.
例如,给定
x <- data.frame(a=seq(1,5))
get("x$a")
不会给你x$a
的。