我有一份清单
myList=list(a=1,b=2)
> names(myList)
[1] "a" "b"
Run Code Online (Sandbox Code Playgroud)
我想通过字符串名称从myList中选择元素.
for (name in names(myList)){
print (myList$name)
}
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为name ="a","b".我的选择行实际上说myList $"a"和myList $"b".我也尝试过:
print (myList$get(name))
print (get(paste(myList$,name,sep="")))
Run Code Online (Sandbox Code Playgroud)
但没有奏效.非常感谢你能告诉我怎么做.
$精确和部分匹配,myList$name相当于
`$`(myList, name)
Run Code Online (Sandbox Code Playgroud)
正如@Frank指出的那样,第二个参数name不会被评估,而是被视为文字字符串.尝试?`$`查看该文档.
在你的例子中.myList$name将尝试寻找name元素myList
这就是你需要的原因 myList[[name]]