除了其他一些差异之外,使用bind_rows
over rbind
的主要原因之一是组合具有不同列数的两个数据帧.rbind
在这种情况下抛出错误,而bind_rows
将"NA
"分配给其中一个数据帧中缺失的列行,其中数据帧不提供值.
请try 以下代码以查看差异:
a <- data.frame(a = 1:2, b = 3:4, c = 5:6)
b <- data.frame(a = 7:8, b = 2:3, c = 3:4, d = 8:9)
两次通话的结果如下:
rbind(a, b)
> rbind(a, b)
Error in rbind(deparse.level, ...) :
numbers of columns of arguments do not match
library(dplyr)
bind_rows(a, b)
> bind_rows(a, b)
a b c d
1 1 3 5 NA
2 2 4 6 NA
3 7 2 3 8
4 8 3 4 9