如何将映射(存储在列表中)应用于向量?
考虑我以这种方式定义了映射:
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的新手,所以我可能会错误地使用某些条款。
答案 0 :(得分:1)
m <- list(foo='bar', a='b', c = 'baz')
a <- c("foo", "a")
unlist(m[a])
## foo a
## "bar" "b"