数据匹配技巧

数据匹配

不同数据根据固定列进行匹配

data1 <- data.table::fread('orig_edge_list.csv',data.table = F)
> data1
    Source Target
1     1212 C00836
2    56848 C00836
3    10558 C00836
4     6609 C00836
5     5476 C00836
6      427 C00836
7     7124 C00836
8    81537 C00836
data2 <- data.table::fread('orig_node_list.csv',data.table = F)
> data2
        Id    Label        Evidence
1     1212     CLTB ENSP00000309415
2    56848    SPHK2 ENSP00000245222
3    10558   SPTLC1 ENSP00000262554
4     6609    SMPD1 ENSP00000340409
5     5476     CTSA                
6      427    ASAH1 ENSP00000489988
7     7124      TNF ENSP00000389492

目标是吧第一个数据中所有的id换成基因的名字
###已经踩坑错误的方法:用%in%进行提取,会自动排序###
正确的方法:用match记录位置,然后根据位置提取

map <- match(data1$Source,data2$Id)

data3 <- data2[map,]

map2 <-  match(data1$Target,data2$Id)
data4 <- data2[map2,]

data <- cbind(data1,data3,data4)
write.table(data,file = 'targets.txt',sep = '\t',quote = F)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值