如果我在mutate
之后group_by
,则会创建一个新列,其中包含与组中行对应的新值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")
答案 0 :(得分:5)
如果您想尊重群组,则需要使用dplyr
do()
来电
df %>%
group_by(sample) %>%
do(add_column(., g_DP = sum(.$g_AD), .after="g_AD"))