【发布时间】:2016-04-17 12:54:50
【问题描述】:
如何仅使用 purrr 包从嵌套列表中提取元素?在这种情况下,我想在拆分 data.frame 后得到一个截距向量。我已经使用 lapply() 完成了我需要的工作,但我只想使用函数 purrr 包。
library(purrr)
mtcars %>%
split(.$cyl) %>%
map( ~lm(mpg ~ wt, data = .)) %>% # shorthand NOTE: ~ lm
lapply(function(x) x[[1]] [1]) %>% # extract intercepts <==is there a purrr function for this line?
as_vector() # convert to vector
我尝试了 map() 和 at_depth(),但似乎没有什么对我有用。
【问题讨论】:
-
你是如何尝试
map的?如果您删除函数名称lapply并将其替换为map- 完全相同的参数 - 它工作得很好。 -
我发现
map的帮助页面在这里很有用。与lapply相比,您似乎可以进行一些快捷编码。像map_dbl(c(1, 1))一样用于索引嵌套列表。 -
@Gregor。啊啊啊!这太明显了。谢谢