r - 使用存储为字符串的名称以编程方式选择列表元素

标签 r list subset

这个问题在这里已经有了答案:





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/

相关文章:

r - 如何计算浓度多次超过阈值的总持续时间?

r - 如何从 r 中具有相同列的另一个数据帧中提取一个数据帧的值?

python - 在 2 个 python 列表之间找到 "overlap"

r - R 中的 lower.tri() 示例

datetime - 将以毫秒为单位的unix秒转换为POSIXct/POSIXlt

r - 使用 dplyr 和 lazyeval 进行编程

java - 使用 List Stream 过滤器与 for 循环

r - 将不同列表的子列表组合成数据框列表

list - prolog 中列表的所有元素的所有子集

java - 查找数组,如果它是另一个数组的子集