绑定或组合行在R中使用rbind()函数非常简单。
rbind()代表行绑定。简单来说,它是将多个行连接成一个批次。它可以包括连接两个数据框、向量等。
本文将讨论在R编程中使用rbind()函数的用途和应用。
不浪费时间,让我们进入主题吧!
rbind()函数的语法
rbind(): rbind或行绑定函数用于将多个行组合在一起。
rbind(x,x1)
其中:
- X = the input data.
- X1 = 需要绑定的数据。
使用rbind()绑定行的概念
使用rbind()绑定或组合多个数据框的行在数据操作中非常有益。
下图将确实让您了解rbind()函数的工作原理。
您可以看到不同数据框的行如何被rbind()函数绑定/组合。
在R中实现rbind()函数
你知道在R中,rbind()函数用于绑定不同组数据的行。
在这一节中,让我们尝试构建一个简单的数据框架,并使用rbind()函数将它们绑定在一起。
#创建一个数据框架
Student_details<-c("Mark","John","Fredrick","Floyd","George")
Student_class<-c("High school","College","High school","High school","College")
df1<-data.frame(Student_class,Student_details)
df1
上面的代码将构建一个显示学生详细信息和姓名的简单数据框架。
Student_class Student_details
1 High school Mark
2 College John
3 High school Fredrick
4 High school Floyd
5 College George
现在,我们有一个包含5行的数据框架。让我们创建另一个数据框架。
#创建一个数据框架
Student_details<-c("Bracy","Evin")
Student_class<-c("High school","College")
Student_rank<-c("A","A+")
df2<-data.frame(Student_class,Student_details,Student_rank)
df2
Student_class Student_details
1 High school Bracy
2 College Evin
现在,我们有两个行数不同的数据框架(df1和df2)。让我们使用rbind()函数将上述两个数据框架绑定成一个单独的数据框架。
让我们看看它是如何工作的。
你将不会相信整个绑定过程只需要一行代码。
#绑定两个输入数据框架的行
rbind(df1,df2)
Student_class Student_details
1 High school Mark
2 College John
3 High school Fredrick
4 High school Floyd
5 College George
6 High school Bracy
7 College Evin
结果数据框架将是两个数据框架的绑定版本,如上面的输出所示。
使用bind()函数将两个长度不等的数据框绑定在一起
好的,在前一节中,我们已经将两个行组合在一起了。
在本节中,我们将使用R中的rbind函数将两个数据集合并在一起。
#创建数据框
Student_details<-c("Mark","John","Fredrick","Floyd","George")
Student_class<-c("High school","College","High school","High school","College")
df1<-data.frame(Student_class,Student_details)
df1
Student_class Student_details
1 High school Mark
2 College John
3 High school Fredrick
4 High school Floyd
5 College George
#创建数据框
Student_details<-c("Bracy","Evin")
Student_class<-c("High school","College")
Student_rank<-c("A","A+")
df2<-data.frame(Student_class,Student_details,Student_rank)
df2
Student_class Student_details Student_rank
1 High school Bracy A
2 College Evin A+
rbind(df1,df2)
Error in rbind(deparse.level, ...) :
numbers of columns of arguments do not match
哦等等,发生了什么?为什么函数会报错?
如果你读取错误中的行,它指出列数不匹配。
我们在‘df1’中有2列,在‘df2’中有3列。
不用担心!我们有bind_rows()函数可以帮助我们解决这些情况。
bind_rows()函数用于绑定不均匀的数据集
bind_rows()是dplyr包的一部分的函数。我们需要首先导入dplyr包才能执行这个函数。
我们正在使用上述部分中存在的相同数据框,即 df1 和 df2。让我们看看它是如何工作的。
#安装必需的软件包
install.packages('dplyr')
#导入库
library(dplyr)
#绑定行
bind_rows(df1,df2)
Student_class Student_details Student_rank
1 High school Mark <NA>
2 College John <NA>
3 High school Fredrick <NA>
4 High school Floyd <NA>
5 College George <NA>
6 High school Bracy A
7 College Evin A+
现在您可以看到,bind_rows 函数已将这两个不等的数据集按列合并在一起。空白处将标记为<NA>。
使用 rbind() 函数绑定两个数据集
在本节中,我们将探讨在 R 中绑定两个完整数据集的方法。
让我们看看它是如何工作的。
我们将使用 BOD 数据集,因为它只有 6 行,而且您还可以轻松观察到绑定的行。
#绑定两个数据集
rbind(BOD,BOD)
Time demand
1 1 8.3
2 2 10.3
3 3 19.0
4 4 16.0
5 5 15.6
6 7 19.8
---------------
7 1 8.3
8 2 10.3
9 3 19.0
10 4 16.0
11 5 15.6
12 7 19.8
BOD 数据集有 6 行。由于我们传递了数据两次,rbind() 函数将绑定相同的行,如上所示。
还不要忘记您也有 bind_rows() 函数。
#绑定两个不同的数据集
bind_rows(BOD,women)
Time demand height weight
1 1 8.3 NA NA
2 2 10.3 NA NA
3 3 19.0 NA NA
4 4 16.0 NA NA
5 5 15.6 NA NA
6 7 19.8 NA NA
7 NA NA 58 115
8 NA NA 59 117
9 NA NA 60 120
10 NA NA 61 123
11 NA NA 62 126
12 NA NA 63 129
13 NA NA 64 132
14 NA NA 65 135
15 NA NA 66 139
16 NA NA 67 142
17 NA NA 68 146
18 NA NA 69 150
19 NA NA 70 154
20 NA NA 71 159
21 NA NA 72 164
这些示例清楚地展示了 bind() 和 bind_rows() 函数的工作原理和应用。
I hope these illustrations helped you in understanding these functions.
在R中绑定多个行组
在这一节中,我们将重点关注使用函数rbind()绑定多个(超过2个)行组的操作。让我们看看它是如何工作的。
#绑定3个数据集的行
bind_rows(BOD,women,ToothGrowth)
Time demand height weight len supp dose
1 1 8.3 NA NA NA <NA> NA
2 2 10.3 NA NA NA <NA> NA
3 3 19.0 NA NA NA <NA> NA
4 4 16.0 NA NA NA <NA> NA
5 5 15.6 NA NA NA <NA> NA
6 7 19.8 NA NA NA <NA> NA
7 NA NA 58 115 NA <NA> NA
8 NA NA 59 117 NA <NA> NA
9 NA NA 60 120 NA <NA> NA
10 NA NA 61 123 NA <NA> NA
11 NA NA 62 126 NA <NA> NA
12 NA NA 63 129 NA <NA> NA
13 NA NA 64 132 NA <NA> NA
14 NA NA 65 135 NA <NA> NA
15 NA NA 66 139 NA <NA> NA
16 NA NA 67 142 NA <NA> NA
17 NA NA 68 146 NA <NA> NA
18 NA NA 69 150 NA <NA> NA
19 NA NA 70 154 NA <NA> NA
20 NA NA 71 159 NA <NA> NA
观察一下,所有三个数据集是如何通过R中的bind_rows()函数绑定或合并的。这就是bind_rows()函数的美妙之处。
这两个函数在R编程中的数据操作中有着无尽的应用。
总结
R中的rbind()函数和bind_rows()函数在数据操作时是最有用的函数。
您可以轻松使用rbind()函数绑定两个具有相同列数的数据框。
同样,如果数据框的列数不相等,您可以使用bind_rows()函数与dplyr包一起使用。
好了,目前就是这些,快乐绑定!!!
更多阅读: R文档
Source:
https://www.digitalocean.com/community/tutorials/rbind-function-r