Я пытаюсь настроить столбец (называемый «комбинированный»), чтобы указать объединенную информацию о владельце и главе в каждой группе (группе). В каждой группе только 1 владелец, и «Head» - это, как правило, первая строка каждой группы, которая имеет минимальное значение id.
Этот объединенный столбец должен помечать «1», если идентификатор помечен как владелец, тогда остальная часть идентификатора в каждой группе будет равна 0 независимо от информации в «Head». Однако для групп, у которых нет идентификатора владельца в идентификаторах (то есть всех 0 в числе владельцев в группе), этот столбец будет принимать информацию столбца Head. Мои данные выглядят так, и последний столбец (объединенный) - это желаемый результат.
sample <- data.frame(Group = c("46005589", "46005589","46005590","46005591", "46005591","46005592","46005592","46005592", "46005593", "46005594"), ID= c("189199", "2957073", "272448", "1872092", "10374996", "1153514", "2771118","10281300", "2610301", "3564526"), Owner = c(0, 1, 1, 0, 0, 0, 1, 0, 1, 1), Head = c(1, 0, 0, 1, 0, 1, 0, 0, 1, 1), combined = c(0, 1, 1, 1, 0, 0, 1, 0, 1, 1))
> sample
Group ID Owner Head combined
1 46005589 189199 0 1 0
2 46005589 2957073 1 0 1
3 46005590 272448 1 0 1
4 46005591 1872092 0 1 1
5 46005591 10374996 0 0 0
6 46005592 1153514 0 1 0
7 46005592 2771118 1 0 1
8 46005592 10281300 0 0 0
9 46005593 2610301 1 1 1
10 46005594 3564526 1 1 1
Я пробовал несколько предложений dplyr и ifelse, и, похоже, это не дало результатов того, что я хотел. Как мне перекодировать этот столбец? Благодарю.