R言語による医療データ分析

R言語によるデータ分析のオンラインコースを中心に、さまざまなデータ分析について記載してあります。

101-103 リレーションとXXX_join関数

まとめ一覧

リレーションとXXX_join関数

リレーションをイメージで把握する

  • 基本的に、「表で保存されている」データは、「リレーショナルデータベース」に保存されています。
  • データ分析を行うにあたって、必要な考え方のみイメージでお伝えします

f:id:tentencon:20191222102037j:plain


f:id:tentencon:20191222102053j:plain


f:id:tentencon:20191222102115j:plain


f:id:tentencon:20191222102230j:plain

left_join

f:id:tentencon:20191222102255j:plain


f:id:tentencon:20191222102311j:plain


f:id:tentencon:20191222102328j:plain

  • left_joinを説明する目的のために、dplyrに入っている、band_members と band_instrumentsで説明します。
library(tidyverse)
band_members
band_instruments
band_instruments2

left_join(band_members, band_instruments, 
          by = "name")

left_join(band_members, 
          band_instruments, by = c("name" = "name"))

band_members %>% 
  left_join(band_instruments, by = "name")

left_join(band_members, band_instruments2, by = "name")
  • エラー!
band_instruments2
  • コラム名が、artist とplayerで、artistを利用したいので、
band_members %>% 
  left_join(band_instruments2, 
            by =c("name" = "artist"))

他のjoin

  • 多くのケースでは、left_joinが使えれば、何とかなるので、例とその動作のみ簡単に説明します。
  • 尚、この例は、すべて、?left_joinでみられるヘルプファイルからのコピーです。
# "Mutating" joins add variables to the LHS
band_members %>% 
  inner_join(band_instruments, by="name") #両方にあるものを残す。
band_members %>% 
  left_join(band_instruments) #左にあるものを残す
band_members %>% 
  right_join(band_instruments) #右にあるものを残す
band_members %>% 
  full_join(band_instruments) #どちらか片方にあるものを残す

まとめ一覧