R语言的merge函数
附带python题目http://www.runoob.com/python/python-100-examples.html
R数据框操作:http://www.cnblogs.com/li-20151130/p/9028634.html
R中的merge函数类似于Excel中的Vlookup,可以实现对两个数据表进行匹配和拼接的功能。与Excel不同之处在于merge函数有4种匹配拼接模式,分别为inner,left,right和outer模式。 其中inner为默认的匹配模式,可与sql语言中的join语句用法。
merge 连接两个数据,官方参考文档语法
merge(x, y, by = intersect(names(x), names(y)),by.x = by, by.y = by, all = FALSE, all.x = all, all.y = all,sort = TRUE, suffixes = c(".x",".y"),incomparables = NULL, ...)
- merge函数参数的说明:
- x,y 要合并的两个数据集
- by,用于连接两个数据集的列,intersect(a,b)值向量a,b的交集,names(x)指提取数据集x的列名
by = intersect(names(x), names(y)) 是获取数据集x,y的列名后,提取其公共列名,作为两个数据集的连接列, 当有多个公共列时,需用下标指出公共列,如names(x)[1],指定x数据集的第1列作为公共列
也可以直接写为 by = ‘公共列名’ ,前提是两个数据集中都有该列名,并且大小写完全一致,R语言区分大小写 - by.x,by.y:指定依据哪些行合并数据框,默认值为相同列名的列
- all,all.x,all.y:指定x和y的行是否应该全在输出文件
- sort:by指定的列(即公共列)是否要排序
- suffixes:指定除by外相同列名的后缀
- incomparables:指定by中哪些单元不进行合并
举例说明如下
1、创建数据
# 连接列置于第1列; 有多个公共列,在公共列后加上x,y表示数据来源,.x表示来源于数据集w,.y表示来源于数据集q
# 数据集中w中的 name = ‘D’ 不显示,数据集中q中的 name = ‘F’ 不显示,只显示公有的name行,并且用q数据集A行匹配了w数据集所有的A行
6、outer 模式,将两张表的数据汇总,表中原来没有的数据置为空
merge(w, q, all=TRUE, sort=TRUE)
- 1
# all = TRUE 表示选取w, q 数据集的所有行,sort = TRUE,表示按 by 列进行排序,默认升序
7、left 匹配模式
merge(w ,q ,all.x=TRUE,sort=TRUE) # 建议使用 指定了连接列 的情况
# 多个公共列,未指定连接列
# 左连接,设置 all.x = TRUE,结果只显示数据w的列及w在q数据集中没有的列
- 1
- 2
- 3
merge(w, q, by = 'name',all.x = TRUE, sort = TRUE) # 指定连接列
# 多个公共列,指定连接列
# 左连接,设置 all.x = TRUE,结果只显示w所有name值
8、right 匹配模式
merge(w ,q ,by = 'name', all.y=TRUE,sort=TRUE)
# 多个公共列,指定连接列
# 左连接,设置 all.y = TRUE,结果只显示q所有name值的记录
https://blog.csdn.net/u010652755/article/details/72982227
9、实例应用
library(readxl)
library(xlsx) cdir = setwd('D:\\R')
A = read_excel('A.xlsx', 1)
B = read_excel('B.xlsx', 1)dt = merge(A ,B ,all=TRUE, sort=TRUE, by = 'stuID')
dt2 = subset(dt, dt$math == 'A',select=names(dt))# 在D:\\R 目录下创建sample.csv文件
cname = "D:\\R\\sample.csv" # 将匹配后的数据写入到 sample.csv 文件中
write.csv(dt2, cname ,sep=",")
R语言的merge函数相关推荐
- R语言使用merge函数匹配数据(vlookup,join)
参考文章 http://www.afenxi.com/post/41432 R中的merge函数类似于Excel中的Vlookup,可以实现对两个数据表进行匹配和拼接的功能.与Excel不同之处在于m ...
- R语言使用merge函数合并数据,如何保持原始数据顺序
我想合并两个数据帧,保持其中一个的原始行顺序(下面的示例中的df.2). 以下是一些示例数据(类列中的所有值都在两个数据帧中定义): df.1 <- data.frame(class = c(1 ...
- R语言dataframe合并函数merge实战
R语言dataframe合并函数merge实战 目录 R语言dataframe合并函数merge实战 #仿真数据 #两个dataframe合并
- 「杂谈」如何写好R语言apply家族函数
感觉好久没发有关R语言的博客了.这一年来,我着手开发了两个R包,但基本没怎么发博客. 原因也很简单,可能是我个人的私心吧,或者说是典型的"理论研究者"的"通病" ...
- R语言使用basename函数获取数据链接地址中的文件名称(removes all of the path up to and including the last path separator )
R语言使用basename函数获取数据链接地址中的文件名称(removes all of the path up to and including the last path separator (i ...
- R语言使用unzip函数解压压缩文件(Extract or List Zip Archives)
R语言使用unzip函数解压压缩文件(Extract or List Zip Archives) 目录 R语言使用unzip函数解压压缩文件(Extract or List Zip Archives) ...
- R语言使用across函数一次性将多个数据列进行离散化(categorize):或者pivot_longer函数转化为长表、对转化为长表的数值数据列进行离散化、pivot_wider将数据转化为宽表
R语言使用across函数一次性将多个数据列进行离散化(categorize):或者pivot_longer函数转化为长表.对转化为长表的数值数据列进行离散化.pivot_wider将数据转化为宽表 ...
- R语言使用aov函数进行双因素方差分析(Two-way factorial ANOVA)、使用HH包中的interaction2wt函数为任何阶的双因素方差分析可视化主效应和交互作用图、箱图显示主效应
R语言使用aov函数进行双因素方差分析(Two-way factorial ANOVA).使用HH包中的interaction2wt函数为任何阶的双因素方差分析可视化主效应和交互作用图(Main ef ...
- R语言使用trimws函数:trimws函数去除(删除、remove)字符串头尾的空格
R语言使用trimws函数:trimws函数去除(删除.remove)字符串头尾的空格 目录 R语言使用trimws函数:trimws函数去除(删除.remove)字符串头尾的空格
最新文章
- 现代传感器的接口:中断驱动的ADC驱动程序
- ubuntu 16.04下安装oracle jdk 1.7
- php mysql商品管理_PHP基础示例:商品信息管理系统v1.1[转]
- C语言实现队列ADT(Queue ADT)接口COMP2521(附完整源码)
- 哈哈哈,弟弟被卡桶里了......
- 空调吸气和排气_吸气剂和二传手被认为有害
- python注入点查找_sqlmap常用注入点检测爆破命令
- 团队计划(4.27)
- EOS Platform 7.2 安装
- c ++结构体构造函数_C ++中的构造函数
- linux应用--yum
- 深度学习之卷积神经网络CNN及tensorflow代码实现示例详细介绍(转载)
- 计算机教室简笔画图片大全集,教室场景画简笔画图片精选
- c语言作业 求梯形面积,梯形面积计算c语言
- 多元非线性方程组 matlab,基于matlab的非线性方程组求解的方法
- 信息收集(部分,不全面)
- excel中的菜单栏自定义_如何在Excel中自定义和使用状态栏
- 计算机信息的应用安全中心在哪,通过Windows Defender安全中心“全新启动”功能恢复/刷新电脑...
- One-Error多标签分类_多分类及多标签分类算法
- base64加密原理详解
热门文章
- Contest - 第10届“新秀杯”ACM程序设计大赛网络资格赛 赛后信息(题解)
- swift 的网络解析 Alamofire
- Cs6/7笔记01、计算机基础
- 三生石·奈何桥·孟婆汤
- 无法将系统配置为计算机,Windows无法将Windows配置为此计算机的硬件上运行
- Google的疯狂面试题
- 学了python之后 画画都是这样操作的
- 春花送远香——深度学习之单元设计
- SAP UI5 应用开发教程的学习目录 - 循序渐进,由浅入深,适合不同水平的 SAP UI5 开发人员
- PHP代码审计之基础篇