在网络上,我发现 rbind()
用于组合两个数据帧,并且 bind_rows()
函数执行相同的任务。
然后我不明白这两个功能之间的区别是什么?使用哪个更有效?
最佳答案
除了几处区别之外,在bind_rows
上使用rbind
的主要原因之一是合并具有不同列数的两个数据帧。在这种情况下,rbind
会引发错误,而bind_rows
将“NA
”分配给数据帧之一未提供值的数据帧中缺少的那些列行。
尝试以下代码以查看区别:
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
关于r - R中rbind()和bind_rows()之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42887217/