![f6546fc017ab7cb32eea8d6638a308fe.png](https://i-blog.csdnimg.cn/blog_migrate/0c2bda733d85e1746431d41364609a9f.jpeg)
学完这节课,你可以:
- 了解表关联的概念及用法
- 在R语言中自由关联数据
如你的电脑还未安装R语言环境,可参考R语言安装中第一部分安装
一、左关联,右关联,内关联,外关联示意图及结果
假设我们有表A和表B,分别为小区数据和房源数据,如果我们以小区为关联字段,分别做leftjoin,right_join,inner_join,outer_join,会得到什么样的结果?
![965fff46b4d250cecc7fd0d6dfe462d3.png](https://i-blog.csdnimg.cn/blog_migrate/22671cb86c156803c993987db820c967.png)
- 左关联(left_join)
![661d277716c618997f818369aee18ec2.png](https://i-blog.csdnimg.cn/blog_migrate/2e6bbb50ecd8b080b2eff3d21c72ab02.png)
![36b77bb765cad4e081309822ed913063.png](https://i-blog.csdnimg.cn/blog_migrate/c82332ed3b1f0bc464d424d0edc65490.png)
- 右关联(right_join)
![eec7109d17802ec5ed388a1202743ae4.png](https://i-blog.csdnimg.cn/blog_migrate/8e1b23b7e3c6a3d8d4dfa9a3cef3363d.png)
![8871048b153bf56084e9947e4de49126.png](https://i-blog.csdnimg.cn/blog_migrate/9ca21d4171cda987d7e9aaa052d52226.png)
- 内关联(inner_join)
![0bb722bbcaf9bf48116bd688983aa2bb.png](https://i-blog.csdnimg.cn/blog_migrate/9691b55748a7bd001f5143d2a006bfe5.png)
![a74566ec8d60877a080ded3b9894a518.png](https://i-blog.csdnimg.cn/blog_migrate/6cbb6a4caf975974e19015d5183ef1d7.png)
- 外关联(full_join)
![e42d2eb5a452375caa58a9a6cabab539.png](https://i-blog.csdnimg.cn/blog_migrate/f3786685d2d2bd96217d05e50ab5bdc1.png)
![75a57a1a4c7cbf8b84f3da5296f1dfd8.png](https://i-blog.csdnimg.cn/blog_migrate/ac05e12c80ed308fc4f4be5b5152e6f9.png)
二、R语言代码
接下来,直接看一下R语言中数据关联的代码,会使用到dplyr包,没有安装的同学输入install.packages('dplyr')命令进行安装即可。
#install.packages('dplyr')
library(dplyr)
table_a <- data_frame(小区= c('绿川新苑','万邦都市花园'),
区域= c('浦东','浦东'),
板块= c('北蔡','北蔡'),
小区年份= c(1991,2000))
table_b <- data_frame(小区= c('绿川新苑','绿川新苑','樱花坊'),
标题= c('25万精装修,中环B11刚需盘','25万精装修,中环B11刚需盘','东边套全明户型,中间位置采光充足'),
总价= c(490,370,658),
面积= c(108,72,77))
result_left_join <- table_a %>% left_join(table_b, by = '小区')
result_right_join <- table_a %>% right_join(table_b, by = '小区')
result_inner_join <- table_a %>% inner_join(table_b, by = '小区')
result_full_join <- table_a %>% full_join(table_b, by = '小区')
数据关联是数据操作中的基本操作,类似excel的vlookup功能但又不完全一样,大家可以想想两者差别在哪里,相信多加练习后可以很快熟练应用join操作。
数据处理课程:
有马骏:第0课:一个周末学会R语言数据处理:从数据库到数仓再到数据集市zhuanlan.zhihu.com![1012d38af066725d277282d85d8faac3.png](https://i-blog.csdnimg.cn/blog_migrate/305baae23596faa6d7bac39bf93d3fde.jpeg)
![1012d38af066725d277282d85d8faac3.png](https://i-blog.csdnimg.cn/blog_migrate/305baae23596faa6d7bac39bf93d3fde.jpeg)
![1012d38af066725d277282d85d8faac3.png](https://i-blog.csdnimg.cn/blog_migrate/305baae23596faa6d7bac39bf93d3fde.jpeg)
数据采集课程:
有马骏:第0课:一个周末学会R语言数据采集:数据从哪里来?zhuanlan.zhihu.com![417d764bab9d19d7e8ec437769540c14.png](https://i-blog.csdnimg.cn/blog_migrate/567f9b029d0f0bfe46c1e879e59d4b56.jpeg)
![a4b6749eb0fc3bd900dc5be8661b6642.png](https://i-blog.csdnimg.cn/blog_migrate/5abef623c2c4dd7a035d04d3bdfe1b18.jpeg)
![a4b6749eb0fc3bd900dc5be8661b6642.png](https://i-blog.csdnimg.cn/blog_migrate/5abef623c2c4dd7a035d04d3bdfe1b18.jpeg)
![a4b6749eb0fc3bd900dc5be8661b6642.png](https://i-blog.csdnimg.cn/blog_migrate/5abef623c2c4dd7a035d04d3bdfe1b18.jpeg)
![a4b6749eb0fc3bd900dc5be8661b6642.png](https://i-blog.csdnimg.cn/blog_migrate/5abef623c2c4dd7a035d04d3bdfe1b18.jpeg)
![a4b6749eb0fc3bd900dc5be8661b6642.png](https://i-blog.csdnimg.cn/blog_migrate/5abef623c2c4dd7a035d04d3bdfe1b18.jpeg)
![a4b6749eb0fc3bd900dc5be8661b6642.png](https://i-blog.csdnimg.cn/blog_migrate/5abef623c2c4dd7a035d04d3bdfe1b18.jpeg)