我希望得到一些关于在字符串中使用引号的帮助get()。
说,我想从列表中检索一个元素
some_list <- list(element1=11,element2=22,element3=33)
很自然地,我可以通过
简单地引用这个元素some_list[['element1']]
但是,一旦我在get()中使用它作为字符串,R就会抛出此错误消息
get("some_list[['element1']]")
> Error in get("some_list[['element1']]") :
object 'some_list[['element1']]' not found
我无法弄清楚为什么会这样。当与其中没有引号的字符串一起使用时,get()可以正常工作,例如
get("some_list")
我也尝试转义字符串中的引号(虽然我不需要这样,因为它们是单引号)但它也不起作用。
some_list[["\'"element1"\'"]]
我错过了什么。
答案 0 :(得分:2)
get
不会这样做。
some_list[['element1']]
不是R环境中对象的名称(在技术意义上)。在控制台上键入some_list[['element1']]
时,R会解析表达式,查找符号some_list
,然后调用函数[[
。 get
仅用于符号查找部分。
(从技术上讲,我的事件序列可能不对,但是我列出了这种方式来帮助解决问题。实际上,R只是解析表达式,然后用[[ >参数 some_list
和'element1'
,随后会查找这些符号。)
答案 1 :(得分:1)
报价与它无关。跑:
get("some_list")[['element1']]