R:如何过滤向量中存在的名称的命名列表?

R: How do I filter a named list on names present in a vector?

我正在尝试根据另一个列表中存在的元素获取命名列表的子集。

nammedlist<-list( "a"=c(1,2,3,4), "b"=c(2,4,5), "c"=c(9,5,3,2))

selection<-c("a","c")

期望的输出:

namedlist2<-list( "a"=c(1,2,3,4), "c"=c(9,5,3,2))


我正在考虑编写一个 for 循环来检查每个名称是否存在,然后将其提取出来。但他们必须是一种更清洁的方式来做到这一点。

您可以使用名称作为索引:

nammedlist[selection]

给你想要的。

请注意,您使用的是单括号,而不是双括号。单括号表示您需要列表的一个子集。双括号表示您想从列表中提取一个元素。