查看原文
其他

利用R实现vlookup

2017-11-29 基因学院 基因学苑

这次内容我们介绍一下如何利用R来实现Excel中vlookup的功能。也就是索引数据,根据基因ID,从一个大的数据中,筛选出与ID匹配的内容。


案例:

现有一个包含200个gene信息的表格,和一个包含121个gene ID的小的表格,根据gene ID,从大的表格中筛选出这121个基因的信息。这些ID可能有重复,可能有些并不包含在大的表格中。


表1:包含200个基因信息的表格(局部)


表2:包含121个基因ID的表格(局部)


利用Excel的vlookup函数实现

=VLOOKUP($A2,Sheet1!$A$1:$I$201,COLUMN(Sheet1!A2),FALSE)


利用R实现:

#读入200个基因的列表 bigtable

genes200 <- read.csv("data/200genes.csv",header = T,stringsAsFactors = F)

#读入121个基因的list small list

genes121 <-  read.csv("data/121genes.csv",header = T,stringsAsFactors = F)

head(genes200)

head(genes121)

genes200["CLU",]

#修改gene table行名

rownames(genes200) <- genes200$gene

genes200["CLU",]

genes200[c("CLU","DCN"),]

#去除重复gene ID

gene93 <- unique(genes121$gene)

#利用数据框的访问功能,一次实现Excel Vlookup功能

dta <- genes200[gene93,]

dta

#数据中包含没有检索到的gene ID,返回值为NA,利用na.omit删除包含NA的行

dta <- na.omit(dta)

rownames(dta) <- 1:nrow(dta)


案例文件及代码下载:

https://pan.baidu.com/s/1hshD5MO



---------- END ----------


更多精彩内容


绘制manhanttan图

中国癌症大数据报告深度分析

CNV-seq分析介绍

生物学才是终极学科

如何搭建生物信息分析平台

为什么生物信息分析难学?

X战警与天赋基因检测



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存