Как добавить строки из другого фрейма данных в другой, но только выбранный столбец - PullRequest
0 голосов
/ 06 марта 2019

Как добавить строки из определенного столбца во фрейме данных в другой столбец другого фрейма данных. См. Пример ниже.

> DF1
  A    B  C
1 3  axe aa
2 6 base bb
3 9  lol cc

> DF2
  D  E   
1 x ss 
2 y dd 
3 z vv 

И я хочу добавить / объединить строки столбца E в DF2 в столбец C в DF1. И строки других столбцов должны быть NA.

> DF3
  A    B   C
1 3   axe  aa
2 6   base bb
3 9   lol  cc
4 NA  NA   ss
5 NA  NA   dd
6 NA  NA   vv

Ответы [ 2 ]

1 голос
/ 06 марта 2019

Вы можете переименовать E в C и rbind.Я предпочитаю bind_rows

> library(dplyr)
> names(DF2)[2] <- "C"
> DF1 <- bind_rows(DF1, select(DF2, C))
> DF1
   A    B  C
1  3  axe aa
2  6 base bb
3  9  lol cc
4 NA <NA> ss
5 NA <NA> dd
6 NA <NA> vv

Другой подход:

> DF1 %>%
+   bind_rows(DF2) %>%
+   mutate(C = ifelse(is.na(C), E, C)) %>%
+   select(A:C)
   A    B  C
1  3  axe aa
2  6 base bb
3  9  lol cc
4 NA <NA> ss
5 NA <NA> dd
6 NA <NA> vv
0 голосов
/ 06 марта 2019

Используйте rbind от базы R:

DF3 <- rbind(DF1, data.frame(A = NA, B = NA, C = DF2$E))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...