データフレームの結合

データフレームにデータを追加する

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

See Also

データフレーム

Rで最もよく使われるデータの格納の仕方

tidyr

データをtidyに整形する

dplyr

データフレームを操作するためのパッケージ

データの書き出し

ファイルにデータを書き出す

tibble

データフレームの拡張版。

リスト

異種データの集まり