我有一个数据框,看起来像这样(这只是一个子集,实际上数据集有2724098行)
> head(dat)
chr start end enhancer motif
chr10 238000 238600 9_EnhA1 GATA6
chr10 238000 238600 9_EnhA1 GATA4
chr10 238000 238600 9_EnhA1 SRF
chr10 238000 238600 9_EnhA1 MEF2A
chr10 375200 375400 9_EnhA1 GATA6
chr10 375200 375400 9_EnhA1 GATA4
chr10 440400 441000 9_EnhA1 GATA6
chr10 440400 441000 9_EnhA1 GATA4
chr10 440400 441000 9_EnhA1 SRF
chr10 440400 441000 9_EnhA1 MEF2A
chr10 441600 442000 9_EnhA1 SRF
chr10 441600 442000 9_EnhA1 MEF2A
我能够将数据集转换为这种格式,其中每组chr、start、end和enhancer表示一个单独的ID:
> dat
id motif
1 GATA6
1 GATA4
1 SRF
1 MEF2A
2 GATA6
2 GATA4
3 GATA6
3 GATA4
3 SRF
3 MEF2A
4 SRF
4 MEF2A
我希望能够按id分组,找到每个可能的motifs对数并计数。因此,我需要一个输出表格,格式如下:
motif1 motif2 count
GATA6 GATA4 3
GATA6 SRF 2
GATA6 MEF2A 2
... and so on for each pair of motif
在实际数据集中,有1716个独特的图案。有83509个独特的ID。
对于如何继续进行,是否有任何建议?
id
? - Gregor Thomas