分组后添加列的原始值

时间:2020-02-27 13:42:42

标签: r dplyr

对于下面的数据框,我想在ID和事件上的LibraryRepositoryB和任务上的LibraryRepositoryA之后添加Var_x的原始值,但是我的代码无法正确执行。有什么建议?顺便说一句,在我的原始数据框中,需要添加多于一列。

AndroidStudio

代码:

Git Submodule

所需的输出:

group_by

2 个答案:

答案 0 :(得分:4)

首先忽略na值,最后对原始数据集进行inner_join

df %>%
  na.omit() %>%
  group_by(ID, event) %>%
  summarise(quest = max(quest)) %>%
  inner_join(df, by = c("ID", "event", "quest"))
## A tibble: 5 x 4
## Groups:   ID [3]
#     ID event quest VAR_X
#  <dbl> <fct> <dbl> <dbl>
#1     1 A         3     3
#2     1 B         2     6
#3     2 C         3     5
#4     2 D         2     4
#5     3 D         2     5

答案 1 :(得分:3)

df %>%
  drop_na() %>% # remove if necessary ..
  group_by(ID, event) %>%
  filter(quest == max(quest)) %>%
  ungroup()

# A tibble: 5 x 4
# ID quest event VAR_X
#<dbl> <dbl> <chr> <dbl>
# 1     1     2 B         6
# 2     1     3 A         3
# 3     2     2 D         4
# 4     2     3 C         5
# 5     3     2 D         5