比较几列基因名称

时间:2014-12-05 17:12:32

标签: r compare

我有几列基因符号,我想检查每列中哪些基因相似

例如如下三列

ADORA2B      ADORA2B    KLC1
AGPAT5       HOPX       LEPR
ASS1         IGFBP7     LTBP3
C1QBP        INHBA      MBNL2
C4orf19      ITGB5      MLLT11
CASP1        ITGBL1     NOTCH3
CASP1        ITGBL1     NPR3
CASP1                   NUAK1
CASP1                   OLR1
CCL20                   PDGFC
KBTBD11                 PLA2G16
KLF4        
ME2     
MPDU1       
NAT1        
PBK     
PSMB10      
PSMB8       
PSMB9       

1 个答案:

答案 0 :(得分:0)

对于包含3列的这种简单情况,您只需执行以下操作:

intersect(a,b)
#[1] "ADORA2B"
intersect(a,d)
#character(0)
intersect(b,d)
#character(0)

如果你有更多的基因组,你可能想要一个不同的方法。像这样的东西可以工作,虽然肯定有更好的解决方案:

# Gather up all the vectors you want to use
sets <- c("a","b","d")
# Make all possible pairs of sets
combos <- combn(sets,2)
# look for shared strings between all possible pairs of sets
sapply(1:ncol(combos), function(x) intersect(get(combos[1,x]), get(combos[2,x])))
#[[1]]
#[1] "ADORA2B"
#
#[[2]]
#character(0)
#
#[[3]]
#character(0)