将映射应用于R中的列表

时间:2014-06-16 15:38:05

标签: r

如何将映射(存储在列表中)应用于向量?

考虑我以这种方式定义了映射:

m <- list(foo='bar', a='b', 1=2)

我只需编写类似m[['foo']]的内容即可获得单个列表元素。我想要做的是一次获取多个键的列表值。一个明显的解决方案是迭代向量:

a <- c('foo', 'a')
b <- c()
for (it in a) {b <- c(b, m[[it]])}

但看起来这不是R风格。我可以用一个班轮做吗?我也尝试将lapply()和mapply()与get()函数一起使用,但是没有成功。

请注意:我是R的新手,所以我可能会错误地使用某些条款。

1 个答案:

答案 0 :(得分:1)

m <- list(foo='bar', a='b', c = 'baz')
a <- c("foo", "a")
unlist(m[a])
##  foo     a 
## "bar"   "b"