我试图通过使用字符串调用R中的变量,并且我正在运行以下命令。
ls(Names)
"John" "Ryan" "Danielle" "Jim" .....
i="Names"
j="John"
get(i)$get(j)
为什么get
分隔的两个$
命令不起作用?
答案 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))