Rのrbind()関数は、行の結合を簡単に行うための関数です。
Rのrbind()関数を使用することで、行の結合や結合は非常に簡単です。
rbind()は、行の結合を表します。より簡単な言葉で言えば、複数の行を1つのまとまりに結合することです。2つのデータフレームやベクトルなどを結合することもできます。
この記事では、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
今、行数が異なる2つのデータフレーム(df1とdf2)があります。上記の2つのデータフレームをrbind()関数を使用して1つのデータフレームに結合しましょう。
それがどのように機能するか見てみましょう。
あなたは信じられないかもしれませんが、全体のバインディングプロセスはたった一行のコードで済みます。
#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
上記の出力に示されているように、結果のデータフレームは両方のデータフレームを結合したバージョンとなります。
不等しい長さを持つ2つのデータフレームをbind()関数を使って結合する。
前のセクションでは、私たちは2つの行グループを組み合わせました。 (Mae no sekushon de wa, watashitachi wa futatsu no gyō gurūpu o kumiawasemashita)
このセクションでは、Rのrbind関数を使用して2つのデータセットを結合します。
#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関数が、列に関して不均等なこれら2つのデータセットを結合したことがわかるようになりました。空白のスペースはとしてマークされます。
rbind()関数を使用して、2つのデータセットをバインドする。
このセクションでは、Rで2つの完全なデータセットを結合する方法について説明します。
どうやって動くか見てみましょう。 (Dō yatte ugoku ka mite mimashou.)
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つの行があります。データを2回パスするため、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()関数の動作と応用を明示的に示す例です。
これらのイラストが、これらの機能を理解するのに役立ったことを願っています。 (Korera no irasuto ga, korera no kinō o rikai suru no ni tadashikatta koto o negatteimasu.)
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
見てください、全ての3つのデータセットがRのbind_rows()関数によって結合または結合された方法を。これがbind_rows()関数の美しさです。
これら2つの関数は、Rプログラミングにおいてデータの操作に無限の応用があります。
まとめ
データ操作において、Rのrbind()関数とbind_rows()関数は最も便利な関数です。
rbind()関数を使用すると、同じ列数を持つ2つのデータフレームを簡単に結合できます。
同様に、もしデータフレームの列数が異なる場合は、dplyrパッケージのbind_rows()関数を使用することができます。
では、これでおしまいです。バインディングを楽しんで!
より多くの読み物:Rのドキュメンテーション