Замените все значения для группы, используя первое значение из другого столбца

data <- data.frame(a=c("0125-510","0125-511","0125-512","4000-000","5000-000"), b=c("100 Fake Street", "100 Fake Street", "100 Fake Street", "200 Fake Street", "300 Fake Street"))

data <- data.frame(a=c("0125-510","0125-510","0125-510","4000-000","5000-000"), b=c("100 Fake Street", "100 Fake Street", "100 Fake Street", "200 Fake Street", "300 Fake Street"))

Input: 
a          b
0125-510   100 Fake Street
0125-511   100 Fake Street
0125-512   100 Fake Street
4000-000   200 Fake Street
5000-000   300 Fake Street

Output: 
a          b
0125-510   100 Fake Street
0125-510   100 Fake Street
0125-510   100 Fake Street
4000-000   200 Fake Street
5000-000   300 Fake Street

У меня есть датафрейм с адресами. С каждым адресом связан последовательный идентификатор, который отформатирован как строка символов, чтобы сохранить начальные нули. Для каждой строки с повторяющимся адресом (столбец B) я хочу заменить все значения в столбце A первым появившимся идентификатором (т. е. самым низким идентификатором).

Идентификаторы могут не обязательно быть в порядке, поэтому они могут быть отформатированы следующим образом:

Input: 
a          b
0125-512   100 Fake Street
0125-511   100 Fake Street
0125-510   100 Fake Street
4000-000   200 Fake Street
5000-000   300 Fake Street

Output: 
a          b
0125-510   100 Fake Street
0125-510   100 Fake Street
0125-510   100 Fake Street
4000-000   200 Fake Street
5000-000   300 Fake Street

Я пытаюсь реализовать это с помощью dplyr.


person VancityPlanner    schedule 28.07.2020    source источник
comment
@RonakShah Я изменил свой исходный пост, чтобы уточнить, что идентификаторы не обязательно уже могут быть в порядке.   -  person VancityPlanner    schedule 28.07.2020
comment
Вы пробовали data %>% arrange(b, a) %>% group_by(b) %>% mutate(a =first(a)) ?   -  person Ronak Shah    schedule 28.07.2020