但我正试图在R中这样做。
我有:
ret_series <- c(1, 2, 3)
x <- "ret_series"
如何通过调用(1, 2, 3)
上的某些功能/操作来获取x
,而不直接提及ret_series
?
答案 0 :(得分:69)
您在问题中提供了答案。试试get
。
> get(x)
[1] 1 2 3
答案 1 :(得分:18)
对于一次性使用,get函数可以正常工作(如前所述),但它不能很好地扩展到较大的项目。最好将数据存储在列表或环境中,然后使用[[访问各个元素:
mydata <- list( ret_series=c(1,2,3) )
x <- 'ret_series'
mydata[[x]]
答案 2 :(得分:5)
以下任何一种情况有什么问题?
eval(as.name(x))
eval(as.symbol(x))
答案 3 :(得分:1)
请注意,上面的一些示例不适用于data.frame
。
例如,给定
x <- data.frame(a=seq(1,5))
get("x$a")
不会给你x$a
。