Rに標準の機能を使って、データフレームにデータを結合する方法を紹介します。データフレームの取り扱いに慣れてる人は、dplyr
パッケージに含まれるbind_rows()
やbind_cols()
や*_joing()
を使った方が、操作性がいいです。
データフレームに列を追加する(横に結合する)
追加したい列の名前を指定し、そこに値を代入する
> X$var4 <- rnorm(5)
cbind関数を使用して列を追加する
データフレームを横に結合するには、cbind()
関数を使います。第二因数のベクトル・データフレームが、第一因数のベクトル・データフレームの右側に結合される。結合するデータフレームの行数があっていないとエラーになる。
> person
City Gender
1 Tokyo m
2 Miyagi m
3 Kanazawa f
4 Osaka f
> Age <- c(25, 32, 27, 41)
> cbind(person, Age)
city Gender Age
1 Tokyo m 25
2 Miyagi m 32
3 Kanazawa f 27
4 Osaka f 41
データフレームに行を追加する(縦に結合する)
rbind関数を使用して行を追加する
データフレームを縦に結合するためには、rbind()
関数を用いる。行単位で追加される。結合するデータフレームの列数があっていないとエラーになる。
> person.Japan
City Gender
1 Tokyo m
2 Miyagi m
3 Kanazawa f
4 Osaka f
> person.America
City Gender
1 New York m
2 Houston m
3 Seattle f
4 Boston f
> rbind(person.Japan, person.America)
City Gender
1 Tokyo m
2 Miyagi m
3 Kanazawa f
4 Osaka f
5 New York m
6 Houston m
7 Seattle f
8 Boston f
データフレームどおしを結合する
merge(x, y, by, by.x, by.y, all, all.x, all.y)
引数 | 説明 | 初期値 |
---|---|---|
x | データフレーム | |
y | データフレーム | |
by | 結合キーを指定するベクトル | |
by.x | データフレームXの結合キーを指定するベクトル | by |
by.y | データフレームYの結合キーを指定するベクトル | by |
all | 両方のデータを残すか指定する真偽値 | FALSE |
all.x | データフレームXのデータを残すか指定する真偽値 | all |
all.y | データフレームXのデータを残すか指定する真偽値 | all |