Я уже некоторое время пытаюсь решить проблему, близкую к той, которая была представлена на этой проблеме , но безуспешно.Это заключается в фильтрации элементов, которые дублируются в группе, а также с учетом исходного, использованного для сравнения с dplyr ( Я предпочитаю dplyr вместо base или data.table ).
Решение, которое я пробовал, выглядит следующим образом:
> a <- data.frame(name=c("a","b","b","b","a","a"),position=c(1,2,1,2,2,2),achieved=c(1,0,0,0,1,0))
> a %>% group_by(name,achieved) %>% mutate(duplicated=duplicated(position))
# A tibble: 6 x 4
# Groups: name, achieved [3]
name position achieved duplicated
<fct> <dbl> <dbl> <lgl>
1 a 1 1 FALSE
2 b 2 0 FALSE
3 b 1 0 FALSE
4 b 2 0 TRUE
5 a 2 1 FALSE
6 a 2 0 FALSE
Я знаю, что это решение близко к желаемому, но оно приносит мне только те значения, которые дублируются после первогоодин , но я также хотел бы решение dplyr, которое дает мне все повторяющиеся значения для каждой группы , так что, вероятно, это могло бы помочь мне улучшить понимание dplyr.
Желаемый результат будетследующим образом:
# A tibble: 6 x 4
# Groups: name, achieved [3]
name position achieved duplicated
<fct> <dbl> <dbl> <lgl>
1 a 1 1 FALSE
2 b 2 0 TRUE
3 b 1 0 FALSE
4 b 2 0 TRUE
5 a 2 1 FALSE
6 a 2 0 FALSE
Заранее спасибо.