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

时间:2018-04-18 18:33:26

标签: r group-by dplyr mutate tibble

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

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

enter image description here

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

为此,我可以让add_column表现得像mutate吗?

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

enter image description here

1 个答案:

答案 0 :(得分:5)

如果您想尊重群组,则需要使用dplyr do()来电

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