提出问题

如何将多个数据框按照同一列merge呢?

解决问题

一个一个merge固然可以,但是费时间且代码看起来十分丑陋,Reduce函数很好解决了这个问题
先看一个例子:

## cumsum 函数用于分步计算累计和
> cumsum(1:4)
[1] 1 3 6 10
## 利用 Reduce也可以实现
> Reduce("+",c(1:4),accumulate =TRUE)
[1] 1 3 6 10
## 若将accumulate赋为FALSE (若不加accumulate则默认为FALSE)
> Reduce("+",c(1:4),accumulate =FALSE)
[1] 10

从例子中可以看出来Reduce函数是将每次计算后的结果保留,并与下一个数字进行计算,这是和 apply 函数不同的。
因此在对多个数据框进行merge时,可如下操作:

## 定义三个数据框
> df1 <- data.frame(id=c(1,2,3),name=c('Joseph','Summer','dograbbit'))
> df2 <- data.frame(id=c(1,2),money=c('0','100'))
> df3 <- data.frame(id=c(1,3),looking=c('handsom','cute'))
## Reduce
> Reduce(function(x,y) merge(x,y,by="id",all.x=TRUE),list(df1,df2,df3),accumulate =FALSE)id   name   money   looking
1 1 Joseph     0     handsom
2 2 Summer    100      <NA>
3 3 dograbbit <NA>     cute

更多Reduce函数的应用可以参考文章R:Reduce()

R:Reduce函数相关推荐

  1. python3中map函数_python3中map()和reduce()函数

    Python内建了map()和reduce()函数. 现在,我们用Python代码实现: def f(x): return x * x r = map(f, [1, 2, 3, 4, 5, 6, 7, ...

  2. 初学者python笔记(map()函数、reduce()函数、filter()函数、匿名函数)

    文章目录 一.匿名函数 二.map()函数 三.reduce()函数 四.filter()函数 五.三大函数总结 本篇文章内容有Python中的匿名函数和map()函数.reduce()函数.filt ...

  3. Python reduce 函数

    # 需求 在中文和英文之间插入空格 如 学习Python语言 要改为 学习 Python 语言 # 实现 参考 https://github.com/hjiang/scripts/blob/maste ...

  4. Python3不存在reduce函数

    原文: https://blog.csdn.net/nigelyq/article/details/79283014 原因 翻阅原文:http://www.artima.com/forums/flat ...

  5. R语言函数:length计算长度、seq生成数据序列、rep将数据对象重复N遍复制、cut将连续变量分割为多水平的因子变量、pretty将连续变量x分成n个区间创建合适的断点、cat数据对象拼接

    R语言函数:length函数计算数据对象的长度.seq函数生成数据序列(sequenceÿ

  6. R语言使用R原生函数plot和lines可视化线图、并使用lty参数自定义线条类型、lwd自定义设置线条的粗细、col参数自定义线条颜色(Change R base plot line types)

    R语言使用R原生函数plot和lines可视化线图.并使用lty参数自定义线条类型.lwd自定义设置线条的粗细.col参数自定义线条颜色(Change R base plot line types) ...

  7. R语言使用pwr包的pwr.r.test函数对相关信息分析进行效用分析(power analysis)、在已知效应量(effect size)、显著性水平、效用值的情况下计算需要的样本量

    R语言使用pwr包的pwr.r.test函数对相关信息分析(Correlations)进行效用分析(power analysis).在已知效应量(effect size).显著性水平(sig).效用值 ...

  8. R语言使用pwr包的pwr.r.test函数对相关信息分析(Correlations)进行效用分析(power analysis)的语法

    R语言使用pwr包的pwr.r.test函数对相关信息分析(Correlations)进行效用分析(power analysis)的语法 目录

  9. R循环函数(for、while、break、next)

    R循环函数(for.while.break.next) 目录 R循环函数(for.while.break.next) R程序设计中的FOR循环 R编程中的WHILE循环

最新文章

  1. 测试之美---测试员的心思你不懂
  2. Tomcat创建一个windows服务
  3. HTML5之内嵌框架
  4. 第二十八章 springboot + zipkin(brave定制-AsyncHttpClient)
  5. C语言中#define中的一些特殊用法
  6. MySQL事务隔离级别及场景测试
  7. MSIL实用指南-struct的生成和操作
  8. 从微信导出表情包的简便方法 (不使用微信 for pc,无需进入文件夹寻找!)
  9. 2012工行软开中心-广州面试
  10. 北京最新城市总体规划草案
  11. 智慧社区可研究性报告
  12. 内容为王,如何打造爆款小红书笔记?
  13. RT-Thread Studio中ST-LINK下载报错“Old ST-LINK firmware version“解决
  14. 安卓玩机搞机技巧综合资源-----全安卓机型通用线刷 卡刷教程。新老机型可参考【十八】
  15. 原码,反码,补码的深入理解与原理
  16. 达尔优键盘Mac Command-c和Command-v复制粘贴快捷键失效问题解决方案
  17. ORACLE学习(三)
  18. 这是一个关于女码农减肥的思考
  19. 2015 macbook air换第三方SSD(西数SN750)
  20. android 从左向右平移_Android实现循环平移动画示例

热门文章

  1. python自动回复微信群的消息_程序员用python实现微信消息群发和微信自动回复
  2. Allegro172版本DFM功能介绍
  3. c语言-循环打印星号图形*
  4. 【深度学习】激活函数和损失函数
  5. 大学英语四六级今开考,戴耳机有新规定
  6. 用touchevent进行画图_电脑截屏快捷键 电脑如何用快捷键截屏
  7. 一个与我们软件的有关的小故事
  8. linux条件语句awk,精通awk系列(18):awk流程控制之if、while、switch、for语句
  9. 曝三星折叠手机现屏幕断裂、闪屏等问题;亚马逊否认退出中国;京东入股五星电器 |...
  10. [转载]ERP项目验收六大标准