« [Python]リストから条件に一致する要素を抽出する | トップページ | [R]指定した複数の列を基準にして2つのデータフレーム(tibble)が結合できるか否か調べる »

2025年5月22日 (木)

[R]指定した複数の列を基準にして二つのデータフレーム(tibble)を結合する

dplyrパッケージのjoin_by関数に複数の結合の条件を指定して~_join関数を使う。結合の条件は,(コンマ)で区切る。以下は、あらかじめ用意した二つのデータフレームを、左外部結合、右外部結合、完全外部結合、内部結合した例。

> dtf1
company title character
1 miHoYo 崩壊3rd セナディア
2 miHoYo 崩壊:スターレイル キャストリス
3 miHoYo 崩壊:スターレイル 帰望の流離人
4 miHoYo ゼンレスゾーンゼロ リン
5 KURO GAMES 鳴潮 カンタレラ
> dtf2
sakuhin kyara seiyu
1 崩壊3rd ヴィタ 日笠陽子
2 崩壊3rd セナディア 鈴木みのり
3 崩壊:スターレイル 帰望の流離人 高田憂希
4 ゼンレスゾーンゼロ アストラ 遠藤綾
5 鳴潮 カンタレラ 中原麻衣
> library(dplyr)
> # 左外部結合
> dtf1 |> left_join(dtf2, by = join_by(title == sakuhin, character == kyara))
company title character seiyu
1 miHoYo 崩壊3rd セナディア 鈴木みのり
2 miHoYo 崩壊:スターレイル キャストリス <NA>
3 miHoYo 崩壊:スターレイル 帰望の流離人 高田憂希
4 miHoYo ゼンレスゾーンゼロ リン <NA>
5 KURO GAMES 鳴潮 カンタレラ 中原麻衣
> # 右外部結合
> dtf1 |> right_join(dtf2, by = join_by(title == sakuhin, character == kyara))
company title character seiyu
1 miHoYo 崩壊3rd セナディア 鈴木みのり
2 miHoYo 崩壊:スターレイル 帰望の流離人 高田憂希
3 KURO GAMES 鳴潮 カンタレラ 中原麻衣
4 <NA> 崩壊3rd ヴィタ 日笠陽子
5 <NA> ゼンレスゾーンゼロ アストラ 遠藤綾
> # 完全外部結合
> dtf1 |> full_join(dtf2, by = join_by(title == sakuhin, character == kyara))
company title character seiyu
1 miHoYo 崩壊3rd セナディア 鈴木みのり
2 miHoYo 崩壊:スターレイル キャストリス <NA>
3 miHoYo 崩壊:スターレイル 帰望の流離人 高田憂希
4 miHoYo ゼンレスゾーンゼロ リン <NA>
5 KURO GAMES 鳴潮 カンタレラ 中原麻衣
6 <NA> 崩壊3rd ヴィタ 日笠陽子
7 <NA> ゼンレスゾーンゼロ アストラ 遠藤綾
> # 内部結合
> dtf1 |> inner_join(dtf2, by = join_by(title == sakuhin, character == kyara))
company title character seiyu
1 miHoYo 崩壊3rd セナディア 鈴木みのり
2 miHoYo 崩壊:スターレイル 帰望の流離人 高田憂希
3 KURO GAMES 鳴潮 カンタレラ 中原麻衣

« [Python]リストから条件に一致する要素を抽出する | トップページ | [R]指定した複数の列を基準にして2つのデータフレーム(tibble)が結合できるか否か調べる »

R(tidyverse)」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« [Python]リストから条件に一致する要素を抽出する | トップページ | [R]指定した複数の列を基準にして2つのデータフレーム(tibble)が結合できるか否か調べる »

無料ブログはココログ

■■

■■■