通过R中的字符串引用变量

时间:2014-01-20 05:26:45

标签: r variables reference

我试图通过使用字符串调用R中的变量,并且我正在运行以下命令。

ls(Names)
"John" "Ryan" "Danielle" "Jim" .....
i="Names"
j="John"
get(i)$get(j)

为什么get分隔的两个$命令不起作用?

2 个答案:

答案 0 :(得分:2)

您可以制作类似这样的作品(虽然不确定为什么会这样):

#Names <- as.environment(list(John = 1, Ryan = 2, Danielle = 3, Jim = 4))
i <- "Names"
j <- "John"
get(i)[[j]]
#[1] 1
单独运行时出现

get(j)错误,因为全局环境中没有John个对象。

get(j)
#Error in get(j) : object 'John' not found

答案 1 :(得分:0)

@ thelatemail的答案更可取,但如果你真的想两次使用get,你可以做到

get(j, envir = get(i))