gpt4 book ai didi

应用 map 后保留列表名称

转载 作者:行者123 更新时间:2023-12-04 23:13:18 32 4
gpt4 key购买 nike

我正在将列表传递给 map并且想要返回一个带有合并名称的 data.frame 对象。

例如:

library(tidyverse)
library(broom)

mtcars %>%
split(.$vs) %>%
map_df(~ tidy(lm(mpg ~ cyl, .)))

term estimate std.error statistic p.value
1 (Intercept) 36.926733 3.690822 10.005017 2.727754e-08
2 cyl -2.728218 0.490297 -5.564419 4.272958e-05
3 (Intercept) 41.940000 5.778467 7.257981 1.003636e-05
4 cyl -3.802500 1.240052 -3.066404 9.781943e-03

如何在 vs 中提取名称( map 组)并将它们添加为结果中的附加列,如下所示:
         term  estimate std.error statistic      p.value GROUP
1 (Intercept) 36.926733 3.690822 10.005017 2.727754e-08 0
2 cyl -2.728218 0.490297 -5.564419 4.272958e-05 0
3 (Intercept) 41.940000 5.778467 7.257981 1.003636e-05 1
4 cyl -3.802500 1.240052 -3.066404 9.781943e-03 1

最佳答案

使用 .id参数,其中 map_df将传递给 dplyr::bind_rows :

library(purrr)

mtcars %>%
split(.$vs) %>%
map_dfr(~broom::tidy(lm(mpg ~ cyl, .)), .id = 'GROUP')
#> GROUP term estimate std.error statistic p.value
#> 1 0 (Intercept) 36.926733 3.690822 10.005017 2.727754e-08
#> 2 0 cyl -2.728218 0.490297 -5.564419 4.272958e-05
#> 3 1 (Intercept) 41.940000 5.778467 7.257981 1.003636e-05
#> 4 1 cyl -3.802500 1.240052 -3.066404 9.781943e-03

关于应用 map 后保留列表名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49893906/

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