我有一个清单
myList=list(a=1,b=2)
> names(myList)
[1] "a" "b"
我想通过字符串名称从myList中选择元素。
for (name in names(myList)){
print (myList$name)
}
这不起作用,因为name =“a”,“b”。我的选择行实际上是说myList $“a”和myList $“b”。我也尝试过:
print (myList$get(name))
print (get(paste(myList$,name,sep="")))
但没有奏效。非常感谢你能告诉我怎么做。
答案 0 :(得分:6)
$
执行完全匹配和部分匹配,myList$name
等同于
`$`(myList, name)
正如@Frank指出的那样,第二个参数name
不会被评估,但会被视为文字字符串。试试?`$`
并查看该文档。
在你的例子中。 myList$name
会尝试在name
myList
元素
这就是您需要myList[[name]]
答案 1 :(得分:1)
我想你想要这样的东西:
for (name in names(myList)) {
print(myList[[name]])
}