【发布时间】:2021-08-24 05:10:15
【问题描述】:
我有一个包含转录 ID 及其相关基因名称的大型数据框,以及一个指示某个模型是否报告该基因/转录本具有重要意义的列。尽管每个基因都与多个转录本相关联,但每个转录本总是与一个基因相关联。这是一个可重现的示例:
transcript <- c('t1', 't2', 't3', 't4', 't5', 't6', 't7','t8', 't9', 't10')
gene <- c('g1', 'g1', 'g1', 'g2', 'g2', 'g2', 'g3','g3', 'g3', 'g3')
model1 <- c('TRUE', 'TRUE', 'TRUE', 'FALSE', 'FALSE', 'FALSE', 'TRUE', 'TRUE', 'TRUE', 'TRUE')
model2 <-c('FALSE', 'FALSE', 'FALSE', 'TRUE', 'TRUE', 'TRUE', 'TRUE', 'TRUE', 'TRUE', 'TRUE')
shared <- data.frame(transcript, gene, model1, model2)
shared
transcript gene model1 model2
<chr> <chr> <chr> <chr>
t1 g1 TRUE FALSE
t2 g1 TRUE FALSE
t3 g1 TRUE FALSE
t4 g2 FALSE TRUE
t5 g2 FALSE TRUE
t6 g2 FALSE TRUE
t7 g3 TRUE TRUE
t8 g3 TRUE TRUE
t9 g3 TRUE TRUE
t10 g3 TRUE TRUE
我想通过 TRUE 值的数量和标识来浓缩和总结这个 df,如下所示:
n_transcripts n_genes transcripts genes
<dbl> <dbl> <chr> <chr>
model1 7 2 t1;t2;t3;t7;t8;t9;t10 g1;g3
model2 7 2 t4;t5;t6;t7;t8;t9;t10 g2;g3
我尝试过创建一个空白 df 并从初始 df 中进行总结,但在区分模型 1 和模型 2 时一直被搁置。实际上,我有几十个模型,并希望避免手动遍历每个模型。有没有人知道从哪里开始?
【问题讨论】: