R語言中dplyr包join函數(shù)之目前我看到過的最形象的教程

所涉及的函數(shù)

深入了解學(xué)習(xí)的內(nèi)容

數(shù)據(jù)類型

x <- tribble(
  ~key, ~val_x,
  1, "x1",
  2, "x2",
  3, "x3")

y <- tribble(
  ~key, ~val_y,
  1, "y1",
  2, "y2",
  4, "y3")

y1 <- tribble(
  ~key, ~val_y,
  1, "y1",
  2, "y2",
  4, "y4",
  2, "y5")
image.png

合并連接

內(nèi)連接

inner_join 函數(shù)
  • 內(nèi)連接的結(jié)果是一個新數(shù)據(jù)框剥槐,其中包含鍵焦辅、 x 值和 y 值。我們使用 by 參數(shù)告訴 dplyr 哪個變量是鍵:
x %>%  inner_join(y, by = "key")
# A tibble: 2 x 3
    key val_x val_y
  <dbl> <chr> <chr>
1     1 x1    y1   
2     2 x2    y2
inner_join.gif

外連接

  • 內(nèi)連接保留同時存在于兩個表中的觀測霞幅, 外連接則保留至少存在于一個表中的觀測娩脾。外連
    接有 3 種類型赵誓。
    ? 左連接:保留 x 中的所有觀測。
    ? 右連接:保留 y 中的所有觀測
    ? 全連接:保留 x 和 y 中的所有觀測柿赊。

left_join函數(shù)

  • 左連接:保留 x 中的所有觀測俩功。
> left_join(x, y, by = "key")
# A tibble: 3 x 3
    key val_x val_y
  <dbl> <chr> <chr>
1     1 x1    y1   
2     2 x2    y2   
3     3 x3    NA
left-join.gif

如果x中的key變量,在y中有多個同樣的key碰声,那么所有的結(jié)合可能都會羅列出來

> left_join(x, y1, by = "key")
# A tibble: 4 x 3
    key val_x val_y
  <dbl> <chr> <chr>
1     1 x1    y1   
2     2 x2    y2   
3     2 x2    y5   
4     3 x3    NA
left-join-extra.gif

right_join函數(shù)

  • 右連接:保留 y 中的所有觀測
> right_join(x, y, by = "key")
# A tibble: 3 x 3
    key val_x val_y
  <dbl> <chr> <chr>
1     1 x1    y1   
2     2 x2    y2   
3     4 NA    y3 
right-join.gif

full_join函數(shù)

  • 全連接:保留 x 和 y 中的所有觀測诡蜓。
> full_join(x, y, by = "key")
# A tibble: 4 x 3
    key val_x val_y
  <dbl> <chr> <chr>
1     1 x1    y1   
2     2 x2    y2   
3     3 x3    NA   
4     4 NA    y3
full-join.gif

使用維恩圖表示不同類型連接方式

image.png

dplyr中這些連接函數(shù)對應(yīng)基礎(chǔ)函數(shù)merge中的功能表

image.png

dplyr這幾種函數(shù)的來源SQL中對應(yīng)的功能

image.png

篩選連接

  • 篩選連接匹配觀測的方式與合并連接相同,但前者影響的是觀測胰挑,而不是變量蔓罚。篩選連接
    有兩種類型。
    ? semi_join(x, y): 保留 x 表中與 y 表中的觀測相匹配的所有觀測瞻颂。
    ? anti_join(x, y): 丟棄 x 表中與 y 表中的觀測相匹配的所有觀測豺谈。
semi_join函數(shù)
  • 保留 x 表中與 y 表中的觀測相匹配的所有觀測
> semi_join(x, y, by = "key")
# A tibble: 2 x 2
    key val_x
  <dbl> <chr>
1     1 x1   
2     2 x2
semi-join.gif
anti_join函數(shù)
  • 丟棄 x 表中與 y 表中的觀測相匹配的所有觀測。
> anti_join(x, y, by = "key")
# A tibble: 1 x 2
    key val_x
  <dbl> <chr>
1     3 x3 
anti-join.gif
參考博文:

圖中g(shù)if文件來源贡这,tiwtter上逛#rstat(類似微博話題)專題時看到的大神的操作
https://github.com/gadenbuie/tidy-animated-verbs#relational-data

image.png

參考書籍

英文版:《R for data science》
中文版:《R數(shù)據(jù)科學(xué)》

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末茬末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子藕坯,更是在濱河造成了極大的恐慌团南,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件炼彪,死亡現(xiàn)場離奇詭異吐根,居然都是意外死亡,警方通過查閱死者的電腦和手機辐马,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門拷橘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事冗疮√汛剑” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵术幔,是天一觀的道長另萤。 經(jīng)常有香客問我,道長诅挑,這世上最難降的妖魔是什么四敞? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮拔妥,結(jié)果婚禮上忿危,老公的妹妹穿的比我還像新娘。我一直安慰自己没龙,他們只是感情好铺厨,可當(dāng)我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著硬纤,像睡著了一般解滓。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上咬摇,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天伐蒂,我揣著相機與錄音,去河邊找鬼肛鹏。 笑死逸邦,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的在扰。 我是一名探鬼主播缕减,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼芒珠!你這毒婦竟也來了桥狡?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤皱卓,失蹤者是張志新(化名)和其女友劉穎裹芝,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體娜汁,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡嫂易,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了掐禁。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片怜械。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡颅和,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出缕允,到底是詐尸還是另有隱情峡扩,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布障本,位于F島的核電站教届,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏彼绷。R本人自食惡果不足惜巍佑,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一茴迁、第九天 我趴在偏房一處隱蔽的房頂上張望寄悯。 院中可真熱鬧,春花似錦堕义、人聲如沸猜旬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽洒擦。三九已至,卻和暖如春怕膛,著一層夾襖步出監(jiān)牢的瞬間熟嫩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工褐捻, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留掸茅,地道東北人。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓柠逞,卻偏偏與公主長得像昧狮,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子板壮,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容