R中的rbind()函数——轻松绑定行
在R中,使用rbind()函数非常容易将行进行绑定或合并。
rbind()代表行绑定。简单来说,就是将多行合并成一个批次。这可以包括合并两个数据框、向量等。
这篇文章将讨论R编程中rbind()函数的用途和应用。
趁热打铁,我们开始进入话题吧!
rbind()函数的语法
rbind()函数:rbind或行绑定函数用于将多个行组合绑定在一起。
rbind(x,x1)
在哪里?
- X = the input data.
- X1 = The data need to be binded.
使用rbind()绑定行的想法
在数据处理中,将多个数据框的行进行绑定或合并的概念非常有益。
下面的图表肯定会让你了解如何使用rbind()函数工作。
你可以看到不同数据框的行是如何通过rbind()函数进行绑定/合并的。
在R中实现rbind()函数
如你所知,R中的rbind()函数用于将不同数据组的行绑定在一起。
在这一部分中,让我们尝试构建一个简单的数据框,并使用rbind()函数将它们绑定在一起。
#creating a data frame
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行的数据帧。让我们再创建一个数据帧。
#creating a dataframe
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()函数将上述两个数据框绑定成一个单独的数据框。
让我们看看它是如何工作的。
你无法相信,整个绑定过程只需要一行代码。
#binds rows of 2 input data frames
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函数将两个数据集合并在一起。
#creates the data frame
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
#creats the data frame
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’中我们有两列,在数据框‘df2’中我们有三列。
不要担心!我们有bind_rows()函数可以帮助我们处理这种情况。
使用bind_rows()函数绑定不均匀的数据集
bind_rows()是dplyr包中的一个函数。在执行此函数之前,我们需要先导入dplyr包。
我们正在使用上面部分中存在的相同数据框,即df1和df2。让我们看看它如何工作。
#install required packages
install.packages('dplyr')
#import libraries
library(dplyr)
#bind the rows
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函数已经将这两个不等的数据集按列合并起来了。空白的地方将被标记为。
使用rbind()函数将两个数据集绑定在一起
在这个部分,我们将研究在 R 中绑定两个完整数据集的方法。
我们来看看它是如何工作的。
我们打算使用BOD数据集,因为它只有6行,而且你可以很容易地观察到边界行。
#binds two data sets
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() 函数。
#binds two different datasets
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函数工作和应用的示例。
希望这些插图能帮助你理解这些功能。
将多个行组绑定在R中
在这个部分,我们将重点放在使用函数rbind() 绑定多个(超过2个)行组合上。让我们看看它是如何工作的。
#binds rows of 3 data sets
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()函数轻松地将两个相同列数的数据框绑定在一起。
同样地,如果数据框的列数不相等,您可以使用dplyr包中的bind_rows()函数。
好的,就这些了,祝你绑定愉快!
更多阅读:R文档