gpt4 book ai didi

r - 仅使用 purrr 包中的函数从嵌套列表中提取元素

转载 作者:行者123 更新时间:2023-12-02 04:26:57 25 4
gpt4 key购买 nike

如何仅使用 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 函数有一些用于索引嵌套列表的速记编码。帮助页面中的有用片段:

To index deeply into a nested list, use multiple values; c("x", "y") is equivalent to z[["x"]][["y"]].

因此,将嵌套索引的代码与 map_dbl 结合使用(将其简化为向量),您可以简单地执行以下操作:

mtcars %>%
split(.$cyl) %>%
map(~lm(mpg ~ wt, data = .)) %>%
map_dbl(c(1, 1))

4 6 8
39.57120 28.40884 23.86803

我还发现了这个blog post引入 purrr 0.1.0 很有用,因为它提供了我最终使用的速记编码的更多示例。

关于r - 仅使用 purrr 包中的函数从嵌套列表中提取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34751624/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com