我有几列基因符号,我想检查每列中哪些基因相似
例如如下三列
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
答案 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)