前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >‘匹配’究竟多重要-R(merge)|Excel(vlookup)

‘匹配’究竟多重要-R(merge)|Excel(vlookup)

作者头像
生信技能树
发布2019-05-23 20:20:13
9400
发布2019-05-23 20:20:13
举报
文章被收录于专栏:生信技能树生信技能树
  • 什么时候觉得Office真是牛呢?当上游给我的分析数据中只有实验编号,而下游care的却是真实的患者信息的时候;当然,在茫茫data中一直Ctrl+F、Ctrl+C、Ctrl+V,重复那么几百次也是可以做到的;如果你真的这么做了,那么就是迟早的事了;vlookup啊,一个公式解决所有繁琐,Excel中的无尽宝藏真是值得我们探索!!!
  • 什么时候觉得R很牛呢?当多个大名鼎鼎的数据库都有自己独树一帜的命名方式(ID转换这种事情简直是数据挖掘入门第一课),而我需要把它们一一匹配起来才能往下分析的时候,R里的merge简直是在这热不死人的广东里如空调一样救命的发明!!!
实操很重要(我这里并没有演示ID转换,着实同理;但我上面说的重要性是真的),我用到的文件给到你:
  • 这是jimmy的R语言练习题里的例子 sample.csv的下载 https://www.ncbi.nlm.nih.gov/geo/browse/?view=samples&series=111229

sample.csv_1

sample.csv_2 https://www.ncbi.nlm.nih.gov/Traces/study/?WebEnv=NCID_1_97150876_130.14.18.97_5555_1556246029_2292855973_0MetA0_S_HStore&query_key=7

Run_info_table

R-merge
代码语言:javascript
复制
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"), no.dups = TRUE,
      incomparables = NULL, ...)
  • x,y 带匹配的数据框
  • merge这个函数里的by.x,by.y,all.x,all.y这几个参数很重要哦!!!all.x是指,以x为准,x里的所有行都要匹配上,如果在y里没有匹配到就拿NA来补。all.y同理;
代码语言:javascript
复制
rm(list = ls())
options(stringsAsFactors = F)
a=read.table('yourpath/SraRunTable.txt',sep = '\t',header = T)
b=read.csv('yourpath/Rtest/sample.csv')
tmp<-merge(a,b,by.x='Sample_Name',by.y='Accession')
head(tmp)
Excel-vlookup

因为SraRunTable.txt中的数据列数太多,为了演示方便我把后面的列删掉了

代码语言:javascript
复制
VLOOKUP($G2,sample!$A$2:$L$769,2,0)
VLOOKUP($G2,sample!$A$2:$L$769,3,0)
VLOOKUP($G2,sample!$A$2:$L$769,4,0)

`

  • lookup_value 检索时用来匹配的值
  • table_array 需要匹配出来的结果的范围
  • col_index_num 需要匹配出来的具体内容位于table_array中lookup_value后的第几列
  • range_lookup 0(精确匹配)或1(近似匹配)
  • $表示限制,放在行前面即行数不变,放在列前面同理;
  • 第一行公式写完后,选中,鼠标放在末尾有个+号,双击产生所有查询的结果;
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信技能树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 实操很重要(我这里并没有演示ID转换,着实同理;但我上面说的重要性是真的),我用到的文件给到你:
    • R-merge
      • Excel-vlookup
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档