Я пытаюсь создать «домашний идентификатор» для всех пар, которые появляются в большем фрейме данных (около 250 000 строк). У каждого человека есть значения «customerID» и «spouseID». Если customerID состоит в браке, идентификатор их супруга отображается в столбце spouseID. Если они не состоят в браке, поле spouseID будет пустым. Каждый член супружеской пары будет отображаться в отдельной строке, в результате чего потребуется общий «идентификатор домашнего хозяйства», которым обладает пара.
Как лучше всего добавить уникальный домашний идентификатор, который дублируется для пар? Небольшой пример исходных данных:
> df <- data.frame(prospectID=as.numeric(c(1:10)),
+ spouseID=as.numeric(c(2,1,"",5,4,"","","",10,9)))
> df
prospectID spouseID
1 1 2
2 2 1
3 3 NA
4 4 5
5 5 4
6 6 NA
7 7 NA
8 8 NA
9 9 10
10 10 9
Простой пример того, что я пытаюсь сделать, выглядит следующим образом:
prospectID spouseID householdID
1 1 2 1
2 2 1 1
3 3 NA 2
4 4 5 3
5 5 4 3
6 6 NA 4
7 7 NA 5
8 8 NA 6
9 9 10 7
10 10 9 7