看起来这是一个基础问题,也许我只是错过了一些显而易见的东西...但是否有任何方法可以使用purrr
来pluck
子列表呢?
更具体地说,这是一个初始列表:
l <- list(a = "foo", b = "bar", c = "baz")
我希望返回一个只包含元素a
和b
的新(子)列表。
通常,我会使用“基本”的R子列表:
l[c("a", "b")]
但是这并不能提供像 pluck
那样好的 .default
处理。
我的理解是 pluck '替换' 了[[
,但是是否有一个 purrr
的等效函数可以替换 [
呢?
purrr
中没有直接替代[
的函数存在。我猜一个解决方法是使用map(set_names(c("a", "b", "z")), partial(pluck, l), .default = "Not found!")
,但这不是很简洁! - Mikko Marttila