R for data Science(八)

join家族函數(shù)

數(shù)據(jù)分析僅涉及單個數(shù)據(jù)表很少見。通常情況下,您有許多數(shù)據(jù)表,并且您必須將它們組合起來以回答您感興趣的問題??偠灾鄠€數(shù)據(jù)表稱為關(guān)系數(shù)據(jù),關(guān)系總是定義在一對表格之間。所有其他關(guān)系都是從這個簡單的想法構(gòu)建而成的:三個或更多表格的關(guān)系總是每對之間關(guān)系的屬性。有時候一對中的兩個元素都可以是同一張表!

介紹下面join幾大函數(shù)

left_join

表示從左面開始添加,
數(shù)據(jù)準(zhǔn)備
library(tidyverse)
library(nycflights13)
flights2 <- flights %>%
 select(year:day, hour, origin, dest, tailnum, carrier)
flights2
我們接著看一下airline是什么內(nèi)容?
image
flights2 %>%
  select(-origin, -dest) %>%
   left_join(airlines, by = "carrier")###等價于left_join(flights2,airlines, by = "carrier")
直接看結(jié)果
image
實際上我們可以這樣理解,left_join輸入兩個參數(shù),分別代表左邊和右邊,第一個參數(shù)默認(rèn)在左邊,第二個參數(shù)在右邊補充。本例中代表airlines中的數(shù)據(jù)自動填充到carrier后面。
這里給大家看一下left_join(x,y)形象的圖型
image
image
image
看了這個圖,其實更明白了,就是一對多的哈希呀,從一對一,到一對多的轉(zhuǎn)變

inner_join函數(shù)

最簡單的連接類型是inner_join。當(dāng)它們的鍵相等時,就可以內(nèi)部鏈接,擴大值的范圍:

例如:

x <- tribble(  ~key, ~val_x,     1, "x1",     2, "x2",     3, "x3")
y <- tribble(  ~key, ~val_y,     1, "y1",     2, "y2",     4, "y3")
x %>%   
inner_join(y, by = "key")##一定不要忘記by參數(shù)
##等價于 inner_join(x,y, by = "key")
image
其本質(zhì)上就是X,Y在key完全相等的行取出來合并,按照順序X在左,y在右
Outer joins
inner_join函數(shù)僅僅保存兩個表中都出現(xiàn)的觀察值。Outer_joins則相反,保存至少一個表中出現(xiàn)的觀察結(jié)果。外部連接有三種類型
A left join keeps all observations in x.
A right join keeps all observations in y.
A full join keeps all observations in x and y
image
image
merge函數(shù)其實可以執(zhí)行上面所有的操作,如下:
image

Set operations

intersect(x, y): 取X與y交集.

union(x, y): 取X與y并集.

setdiff(x, y): 取屬于X不屬于y的差集.

setdiff(y, x): 取屬于X不屬于y的差集.


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • --- layout: post title: "如果有人問你關(guān)系型數(shù)據(jù)庫的原理,叫他看這篇文章(轉(zhuǎn))" date...
    藍(lán)墜星閱讀 914評論 0 3
  • 關(guān)于Mongodb的全面總結(jié) MongoDB的內(nèi)部構(gòu)造《MongoDB The Definitive Guide》...
    中v中閱讀 32,284評論 2 89
  • 一、C語言基礎(chǔ) 1、struct 的內(nèi)存對齊和填充問題其實只要記住一個概念和三個原則就可以了: 一個概念:自然對齊...
    XDgbh閱讀 2,341評論 1 38
  • 【參會人員】9人 時間大臣:G175-82-徐巧梅 記錄大臣:G175-83-陳思彤 G175-84-周 丹 G1...
    玉_388b閱讀 341評論 0 0
  • 空明一切 倒掉全部 做一只空空的杯子 再裝入的 便是塵事 怎樣滴就這樣吧
    白衣布衫閱讀 202評論 2 0

友情鏈接更多精彩內(nèi)容