R中的rbind()函数–绑定行
使用R中的rbind()函数非常容易地进行行的绑定或者合并。
rbind()代表行绑定。
用更简单的术语来说,将多行连接起来以形成一个批处理。
它可能包括连接两个数据帧,向量等。
本文将讨论rbind()函数在R编程中的用途和应用。
rbind()函数的语法
rbind():rbind或者行绑定函数用于将多组行绑定或者组合在一起。
rbind(x,x1)
其中:
X =输入数据。
X1 =数据需要绑定。
使用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
好了,现在我们有2个不同行计数的数据帧(df1和df2)。
让我们使用rbind()函数将上述2个数据帧绑定到一个数据帧中。
让我们看看它是如何工作的。
您不会相信整个绑定过程只需要一行代码。
#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"中有2列,在" df2"中有3列。
不用担心!我们有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函数已经按照列的形式组合了这两个不相等的数据集。
空格将标记为<NA>。
使用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编程中的数据处理中有着无穷的应用。