如何将数据框中特定列的行添加到另一个数据框中的另一列。请参见下面的示例。
> 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
我想将DF2的E列的行添加/合并到DF1的C列。其他列的行应为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
答案 0 :(得分:1)
您可以将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
答案 1 :(得分:0)
使用基于R的rbind
:
DF3 <- rbind(DF1, data.frame(A = NA, B = NA, C = DF2$E))