问题描述
DF1
ID Name Fruit Berry Price
01 Jim Apple No .69
02 Rick BlueBerry Yes 1.50
另一个:
DF2
Name ID Price Berry Fruit
Hannah 03 1.20 No Apple
Allie 04 .40 Canteloupe
所以目标很简单,我只想将它们捆绑在一起。但是列不对齐。真实的数据帧有30个变量,所以我怎么将它们放在一起并相应地对变量重新排序。
最终df目标:
ID Name Fruit Berry Price
01 Jim Apple No .69
02 Rick BlueBerry Yes 1.50
03 Hannah Apple No 1.20
04 Allie Canteloupe .40
解决方法
我们可以使用bind_rows
来根据第一个数据集自动重新排列第二个列
library(dplyr)
bind_rows(DF1,DF2)
-输出
# ID Name Fruit Berry Price
#1 1 Jim Apple No 0.69
#2 2 Rick Blueberry Yes 1.50
#3 3 Hannah Apple No 1.20
#4 4 Allie Canteloupe <NA> 0.40
数据
DF1 <- structure(list(ID = 1:2,Name = c("Jim","Rick"),Fruit = c("Apple","Blueberry"),Berry = c("No","Yes"),Price = c(0.69,1.5)),class = "data.frame",row.names = c(NA,-2L))
DF2 <- structure(list(Name = c("Hannah","Allie"),ID = 3:4,Price = c(1.2,0.4),NA),"Canteloupe")),-2L))