library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(tidyr)
nbl_c <- read.table("C:/tmp/nobel_countries.txt", h = T)
nbl_w <- read.table("C:/tmp/nobel_winners.txt", h = T)
head(nbl_c, 3)
## Country Year
## 1 France 2014
## 2 UK 1950
## 3 UK 2017
##合併merge指令
merge(nbl_c, nbl_w)
## Year Country Name Gender
## 1 1950 UK Bertrand Russell Male
## 2 2012 China Mo Yan Male
## 3 2013 Canada Alice Munro Female
## 4 2014 France Patrick Modiano Male
## 5 2016 US Bob Dylan Male
## 6 2017 UK Kazuo Ishiguro Male
merge(nbl_c, nbl_w, all = TRUE)
## Year Country Name Gender
## 1 1938 <NA> Pearl Buck Female
## 2 1950 UK Bertrand Russell Male
## 3 2011 Sweden <NA> <NA>
## 4 2012 China Mo Yan Male
## 5 2013 Canada Alice Munro Female
## 6 2014 France Patrick Modiano Male
## 7 2015 Russia <NA> <NA>
## 8 2016 US Bob Dylan Male
## 9 2017 UK Kazuo Ishiguro Male
##顯示nbl_w能匹配到nbl_c的
inner_join(nbl_w, nbl_c)
## Joining, by = "Year"
## Name Gender Year Country
## 1 Patrick Modiano Male 2014 France
## 2 Bertrand Russell Male 1950 UK
## 3 Kazuo Ishiguro Male 2017 UK
## 4 Bob Dylan Male 2016 US
## 5 Alice Munro Female 2013 Canada
## 6 Mo Yan Male 2012 China
##行:顯示nbl_w中所有能匹配nbl_c到行,並按结果按匹配進行排序
semi_join(nbl_w, nbl_c)
## Joining, by = "Year"
## Name Gender Year
## 1 Patrick Modiano Male 2014
## 2 Bertrand Russell Male 1950
## 3 Kazuo Ishiguro Male 2017
## 4 Bob Dylan Male 2016
## 5 Alice Munro Female 2013
## 6 Mo Yan Male 2012
##nbl_w為第一個參數、nbl_c為第二個參數,未匹配到的值,全顯示為NA。
left_join(nbl_w, nbl_c)
## Joining, by = "Year"
## Name Gender Year Country
## 1 Patrick Modiano Male 2014 France
## 2 Bertrand Russell Male 1950 UK
## 3 Kazuo Ishiguro Male 2017 UK
## 4 Bob Dylan Male 2016 US
## 5 Alice Munro Female 2013 Canada
## 6 Mo Yan Male 2012 China
## 7 Pearl Buck Female 1938 <NA>
##nbl_w所獨有的
anti_join(nbl_w, nbl_c)
## Joining, by = "Year"
## Name Gender Year
## 1 Pearl Buck Female 1938
##nbl_w、nbl_c共有與獨有總和,未匹配到的值,全顯示為NA
full_join(nbl_w, nbl_c)
## Joining, by = "Year"
## Name Gender Year Country
## 1 Patrick Modiano Male 2014 France
## 2 Bertrand Russell Male 1950 UK
## 3 Kazuo Ishiguro Male 2017 UK
## 4 Bob Dylan Male 2016 US
## 5 Alice Munro Female 2013 Canada
## 6 Mo Yan Male 2012 China
## 7 Pearl Buck Female 1938 <NA>
## 8 <NA> <NA> 2015 Russia
## 9 <NA> <NA> 2011 Sweden