У меня есть набор данных фильмов с несколькими столбцами, в которых перечислены актеры / актрисы, появляющиеся в фильме. Данные являются беспорядочными, и иногда первый столбец содержит пропущенное значение, а второй содержит имя актера. Я хочу сохранить все столбцы актеров, но переместить каждое не пропущенное значение в самый ранний столбец. Например:
movies <- data.frame(actor1=c("A","B",NA,"C",NA), actor2=c(NA, "Z", "W", NA, "X"), actor3=c("L","M","N","O","P"))
actor1 actor2 actor3
1 A <NA> L
2 B Z M
3 <NA> W N
4 C <NA> O
5 <NA> X P
Должно стать:
actor1 actor2 actor3
1 A L <NA>
2 B Z M
3 W N <NA>
4 C O <NA>
5 X P <NA>
coalesce()
будет тянуть W и X к первому столбцу. Отлично. Но как мне сделать то же самое для последующих столбцов? Например, поскольку W был перенесен с actor2 на actor1, теперь я хочу, чтобы третий ряд с actor2 имел значение N, а не W.