tibble::add_column 分组数据框尊重组

tibble::add_column to grouped dataframe respecting groups

如果我在 group_by 之后执行 mutate,则会创建一个新列,其中包含与组中的行相对应的新值 g_DP。

df <- 
  df %>% 
    group_by(Sample) %>%
     mutate(g_DP = sum(g_AD))

但是,我想指定在创建新列时插入的位置,使用 tibble::add_column。当我这样做时,它只是将 g_AD 的总和添加到所有行而不进行分组。

我怎样才能让 add_column 表现得像 mutate 那样?

 df <- 
      df %>% 
        group_by(Sample) %>%
          add_column(g_DP = sum(.$g_AD), .after="g_AD")

如果你想尊重群体,你需要使用dplyrdo()调用

df %>% 
  group_by(sample) %>% 
  do(add_column(., g_DP = sum(.$g_AD), .after="g_AD"))