Match函数应用举例

这是生信技能树生信爆款入门课程R语言部分的一道作业题。

加载数据

> load("matchtest.Rdata")#右边Environment已经加载了环境变量
> dim(x)#查看维度
[1] 7 2
> head(x)#查看前几行
                                             file_name          ID
1 708a16a3-7a5e-4e27-b06b-4c3c308b11fe.htseq.counts.gz TCGA-AA-3531-01A-01R-0821-07
2 95e726db-5ccc-4836-a2ae-7feaddaf9f1b.htseq.counts.gz TCGA-A6-2678-11A-01R-A32Z-07
3 90a46dce-5762-47ec-925c-deff853069aa.htseq.counts.gz TCGA-AA-A02K-01A-03R-A32Y-07
4 587e44e4-87ba-4981-a520-d20612486f53.htseq.counts.gz TCGA-NH-A6GA-01A-11R-A37K-07
5 1b843dbb-5ef0-47ca-9783-dbeb94aa6df3.htseq.counts.gz TCGA-AZ-6600-11A-01R-1774-07
6 09796233-3f40-4deb-b77d-2267c3afff59.htseq.counts.gz TCGA-CM-6676-01A-11R-1839-07
> dim(y)#查看维度
[1] 7 7
> head(y)#查看前几行
                   90a46dce-5762-47ec-925c-deff853069aa.htseq.counts.gz
ENSG00000000003.13                                                 6564
ENSG00000000005.5                                                    29
ENSG00000000419.11                                                 2659
ENSG00000000457.12                                                  246
ENSG00000000460.15                                                  145
ENSG00000000938.11                                                   37
                   587e44e4-87ba-4981-a520-d20612486f53.htseq.counts.gz
ENSG00000000003.13                                                 3127
ENSG00000000005.5                                                     0
ENSG00000000419.11                                                  889
ENSG00000000457.12                                                  382
ENSG00000000460.15                                                  188
ENSG00000000938.11                                                  749
                   95e726db-5ccc-4836-a2ae-7feaddaf9f1b.htseq.counts.gz
ENSG00000000003.13                                                 6330
ENSG00000000005.5                                                     0
ENSG00000000419.11                                                 2428
ENSG00000000457.12                                                 1701
ENSG00000000460.15                                                 1009
ENSG00000000938.11                                                  220
                   09796233-3f40-4deb-b77d-2267c3afff59.htseq.counts.gz
ENSG00000000003.13                                                 3583
ENSG00000000005.5                                                    70
ENSG00000000419.11                                                 1436
ENSG00000000457.12                                                  590
ENSG00000000460.15                                                  440
ENSG00000000938.11                                                  812
                   708a16a3-7a5e-4e27-b06b-4c3c308b11fe.htseq.counts.gz
ENSG00000000003.13                                                  643
ENSG00000000005.5                                                    17
ENSG00000000419.11                                                 2476
ENSG00000000457.12                                                  804
ENSG00000000460.15                                                  496
ENSG00000000938.11                                                  962
                   44f1dc34-a01e-4a7b-a7a1-a90064039fdd.htseq.counts.gz
ENSG00000000003.13                                                 1514
ENSG00000000005.5                                                    13
ENSG00000000419.11                                                  876
ENSG00000000457.12                                                  483
ENSG00000000460.15                                                  250
ENSG00000000938.11                                                   75
                   1b843dbb-5ef0-47ca-9783-dbeb94aa6df3.htseq.counts.gz
ENSG00000000003.13                                                11751
ENSG00000000005.5                                                    26
ENSG00000000419.11                                                 2494
ENSG00000000457.12                                                  531
ENSG00000000460.15                                                  632
ENSG00000000938.11                                                   85
> x[1:4,1:2]#查看行列。第一行是列名,行名是数字
                                             file_name                           ID
1 708a16a3-7a5e-4e27-b06b-4c3c308b11fe.htseq.counts.gz TCGA-AA-3531-01A-01R-0821-07
2 95e726db-5ccc-4836-a2ae-7feaddaf9f1b.htseq.counts.gz TCGA-A6-2678-11A-01R-A32Z-07
3 90a46dce-5762-47ec-925c-deff853069aa.htseq.counts.gz TCGA-AA-A02K-01A-03R-A32Y-07
4 587e44e4-87ba-4981-a520-d20612486f53.htseq.counts.gz TCGA-NH-A6GA-01A-11R-A37K-07
> y[1:4,1:2]#查看行列。第一行是列名,无行名
                   90a46dce-5762-47ec-925c-deff853069aa.htseq.counts.gz
ENSG00000000003.13                                                 6564
ENSG00000000005.5                                                    29
ENSG00000000419.11                                                 2659
ENSG00000000457.12                                                  246
                   587e44e4-87ba-4981-a520-d20612486f53.htseq.counts.gz
ENSG00000000003.13                                                 3127
ENSG00000000005.5                                                     0
ENSG00000000419.11                                                  889
ENSG00000000457.12                                                  382

任务:将y的行名,改为x的第二列对应id,

共有元素;y的行名,x的第一列

任务分解:

1.将x的第一列按照y的行名排列,提取下标顺序

> lx1=colnames(y)#y的行名
> lx1
[1] "90a46dce-5762-47ec-925c-deff853069aa.htseq.counts.gz"
[2] "587e44e4-87ba-4981-a520-d20612486f53.htseq.counts.gz"
[3] "95e726db-5ccc-4836-a2ae-7feaddaf9f1b.htseq.counts.gz"
[4] "09796233-3f40-4deb-b77d-2267c3afff59.htseq.counts.gz"
[5] "708a16a3-7a5e-4e27-b06b-4c3c308b11fe.htseq.counts.gz"
[6] "44f1dc34-a01e-4a7b-a7a1-a90064039fdd.htseq.counts.gz"
[7] "1b843dbb-5ef0-47ca-9783-dbeb94aa6df3.htseq.counts.gz"
> lx2=x[,1]#x的第一列
> lx2
[1] "708a16a3-7a5e-4e27-b06b-4c3c308b11fe.htseq.counts.gz"
[2] "95e726db-5ccc-4836-a2ae-7feaddaf9f1b.htseq.counts.gz"
[3] "90a46dce-5762-47ec-925c-deff853069aa.htseq.counts.gz"
[4] "587e44e4-87ba-4981-a520-d20612486f53.htseq.counts.gz"
[5] "1b843dbb-5ef0-47ca-9783-dbeb94aa6df3.htseq.counts.gz"
[6] "09796233-3f40-4deb-b77d-2267c3afff59.htseq.counts.gz"
[7] "44f1dc34-a01e-4a7b-a7a1-a90064039fdd.htseq.counts.gz"
> lx3=match(lx1,lx2)#提取下标
> lx3
[1] 3 4 2 6 1 7 5

2.id对应

> x[,2]#查看id
[1] "TCGA-AA-3531-01A-01R-0821-07" "TCGA-A6-2678-11A-01R-A32Z-07" "TCGA-AA-A02K-01A-03R-A32Y-07"
[4] "TCGA-NH-A6GA-01A-11R-A37K-07" "TCGA-AZ-6600-11A-01R-1774-07" "TCGA-CM-6676-01A-11R-1839-07"
[7] "TCGA-AA-3971-01A-01R-1022-07"
> 提取对应行号id名称
> x[lx3,2]
[1] "TCGA-AA-A02K-01A-03R-A32Y-07" "TCGA-NH-A6GA-01A-11R-A37K-07" "TCGA-A6-2678-11A-01R-A32Z-07"
[4] "TCGA-CM-6676-01A-11R-1839-07" "TCGA-AA-3531-01A-01R-0821-07" "TCGA-AA-3971-01A-01R-1022-07"
[7] "TCGA-AZ-6600-11A-01R-1774-07"

3.赋值给y的列名

> colnames(y) <- x[lx3,2]
> #查看y
> y
                   TCGA-AA-A02K-01A-03R-A32Y-07 TCGA-NH-A6GA-01A-11R-A37K-07
ENSG00000000003.13                         6564                         3127
ENSG00000000005.5                            29                            0
ENSG00000000419.11                         2659                          889
ENSG00000000457.12                          246                          382
ENSG00000000460.15                          145                          188
ENSG00000000938.11                           37                          749
ENSG00000000971.14                           77                          708
                   TCGA-A6-2678-11A-01R-A32Z-07 TCGA-CM-6676-01A-11R-1839-07
ENSG00000000003.13                         6330                         3583
ENSG00000000005.5                             0                           70
ENSG00000000419.11                         2428                         1436
ENSG00000000457.12                         1701                          590
ENSG00000000460.15                         1009                          440
ENSG00000000938.11                          220                          812
ENSG00000000971.14                          530                         4173
                   TCGA-AA-3531-01A-01R-0821-07 TCGA-AA-3971-01A-01R-1022-07
ENSG00000000003.13                          643                         1514
ENSG00000000005.5                            17                           13
ENSG00000000419.11                         2476                          876
ENSG00000000457.12                          804                          483
ENSG00000000460.15                          496                          250
ENSG00000000938.11                          962                           75
ENSG00000000971.14                         3958                          272
                   TCGA-AZ-6600-11A-01R-1774-07
ENSG00000000003.13                        11751
ENSG00000000005.5                            26
ENSG00000000419.11                         2494
ENSG00000000457.12                          531
ENSG00000000460.15                          632
ENSG00000000938.11                           85
ENSG00000000971.14                          319

4.合并代码

> colnames(y) <- x[match(colnames(y),x[,1]),2]
> y
                   TCGA-AA-A02K-01A-03R-A32Y-07 TCGA-NH-A6GA-01A-11R-A37K-07
ENSG00000000003.13                         6564                         3127
ENSG00000000005.5                            29                            0
ENSG00000000419.11                         2659                          889
ENSG00000000457.12                          246                          382
ENSG00000000460.15                          145                          188
ENSG00000000938.11                           37                          749
ENSG00000000971.14                           77                          708
                   TCGA-A6-2678-11A-01R-A32Z-07 TCGA-CM-6676-01A-11R-1839-07
ENSG00000000003.13                         6330                         3583
ENSG00000000005.5                             0                           70
ENSG00000000419.11                         2428                         1436
ENSG00000000457.12                         1701                          590
ENSG00000000460.15                         1009                          440
ENSG00000000938.11                          220                          812
ENSG00000000971.14                          530                         4173
                   TCGA-AA-3531-01A-01R-0821-07 TCGA-AA-3971-01A-01R-1022-07
ENSG00000000003.13                          643                         1514
ENSG00000000005.5                            17                           13
ENSG00000000419.11                         2476                          876
ENSG00000000457.12                          804                          483
ENSG00000000460.15                          496                          250
ENSG00000000938.11                          962                           75
ENSG00000000971.14                         3958                          272
                   TCGA-AZ-6600-11A-01R-1774-07
ENSG00000000003.13                        11751
ENSG00000000005.5                            26
ENSG00000000419.11                         2494
ENSG00000000457.12                          531
ENSG00000000460.15                          632
ENSG00000000938.11                           85
ENSG00000000971.14                          319
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,454评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,553评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,921评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,648评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,770评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,950评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,090评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,817评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,275评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,592评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,724评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,409评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,052评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,815评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,043评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,503评论 2 361
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,627评论 2 350

推荐阅读更多精彩内容

  • R语言与数据挖掘:公式;数据;方法 R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还...
    __一蓑烟雨__阅读 1,621评论 0 5
  • Oracle笔记系列这几篇是来自一位老师的笔记,分享给大家放在简书上,主要方便自己时常复习,还有学习Oracle的...
    panda_Hi阅读 836评论 0 1
  • 生信人应这样学R语言-生信技能树视频 一、介绍R语言及Rstudio 1、R是用于统计分析、绘图的语言和操作环境。...
    看远方的星阅读 10,355评论 3 74
  • 第二章 创建数据集 本章内容:探索R中的数据结构、输入数据、导入数据、标注数据 2.1 数据集的概念 数据集通常是...
    催催莎阅读 1,026评论 0 0
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 7,515评论 16 22