简体   繁体   English

如何在 R 中将列添加到网状小标题

[英]how to add a column to a netsed tibble in R


How could I transform a tibble with purrr's map. 我怎么能用 purrr 的 map 转换一个 tibble。
I have the following nested tibble: 我有以下嵌套的小标题:
 tbl_a <- tibble( a = letters[1:3], b = 1:3 ) tbl_b <- tibble( c = letters[1:3], d = 1:3 ) tbl_nested <- tibble( name = c("Test", "Sand"), nest_tbl = list(tbl_a,tbl_b) )

and the final nested tibble should be:最终嵌套的小标题应该是:

 tbl_a_new <- tibble( name = "Test", a = letters[1:3], b = 1:3 ) tbl_b_new <- tibble( name = "San", a = letters[1:3], b = 1:3 ) tibble( name = c("Test", "Sand"), nest_tbl = list(tbl_a,tbl_b), nest_tbl_new = list(tbl_a_new,tbl_b_new) ) name nest_tbl nest_tbl_new <chr> <list> <list> 1 Test <tibble [3 x 2]> <tibble [3 x 3]> 2 Sand <tibble [3 x 2]> <tibble [3 x 3]>

thank you very much for your help非常感谢您的帮助

We can use map2我们可以使用map2

library(dplyr)
library(purrr)
tbl_nested %>%
   mutate(nest_tbl_new = map2(nest_tbl, name, ~ 
          .x %>% 
            mutate(name = .y)))

-output -输出

# A tibble: 2 x 3
#  name  nest_tbl         nest_tbl_new    
#  <chr> <list>           <list>          
#1 Test  <tibble [3 × 2]> <tibble [3 × 3]>
#2 Sand  <tibble [3 × 2]> <tibble [3 × 3]>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM