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

gae*_*cia 1 group-by r dplyr mutate tibble

如果我这样做mutate之后group_by,一个新的列上创建,它包含相应的一组行中的新价值g_DP.

df <- 
  df %>% 
    group_by(Sample) %>%
     mutate(g_DP = sum(g_AD))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

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

我可以add_column这样mutate做吗?

 df <- 
      df %>% 
        group_by(Sample) %>%
          add_column(g_DP = sum(.$g_AD), .after="g_AD")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

MrF*_*ick 5

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

df %>% 
  group_by(sample) %>% 
  do(add_column(., g_DP = sum(.$g_AD), .after="g_AD"))
Run Code Online (Sandbox Code Playgroud)