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")
如果你想尊重群体,你需要使用dplyr
do()
调用
df %>%
group_by(sample) %>%
do(add_column(., g_DP = sum(.$g_AD), .after="g_AD"))
如果我在 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")
如果你想尊重群体,你需要使用dplyr
do()
调用
df %>%
group_by(sample) %>%
do(add_column(., g_DP = sum(.$g_AD), .after="g_AD"))