这个问题在这里已经有了答案:
Dynamically select data frame columns using $ and a character value
(9 个回答)
5年前关闭。
我有一个 list
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 = "")))
但没有用。如果你能告诉我怎么做,非常感谢。
最佳答案
$
完全匹配和部分匹配,myList$name
相当于
`$`(myList, name)
正如@Frank 指出的,第二个参数
name
不会被评估,但会被视为文字字符串。试试 ?`$`
并查看文档。在你的例子中。
myList$name
将尝试寻找 name
myList
中的元素这就是为什么您需要
myList[[name]]
关于r - 使用存储为字符串的名称以编程方式选择列表元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36292450/