【发布时间】:2020-10-22 12:54:28
【问题描述】:
我有一个名为“基因座”的组中的基因数据集,我正在寻找与相同基因座/组中的基因相比得分最高的基因
我的输入数据如下所示:
loci Gene Score
1: 1 AQP11 0.5566507
2: 1 CLNS1A 0.2811747
3: 1 RSF1 0.5269924
4: 2 CFDP1 0.4186066
5: 2 CHST6 0.5395135
我的输出将选择基因座 1 的 3 个基因中得分最高的组/基因座 1 的基因,然后是与组 2 中的其他基因相比得分最高的基因。
所以我试图得到的这个例子的输出是:
loci Gene Score
1: 1 AQP11 0.5566507 #highest score in loci 1
2: 2 CHST6 0.5395135 #highest score in loci 2
如何按行分组筛选最高分?我不知道从哪里开始。
输入数据:
structure(list(loci = c(1L, 1L, 1L, 2L, 2L), Gene = c("AQP11",
"CLNS1A", "RSF1", "CFDP1", "CHST6"), Score = c(0.556650698184967,
0.281174659729004, 0.526992380619049, 0.418606609106064, 0.539513528347015
)), row.names = c(NA, -5L), class = c("data.table", "data.frame"
))
我一直在用 dplyr::group_by() 尝试使用 dplyr,但我不断收到各种错误。
【问题讨论】:
-
如果出现平局,是要所有基因,还是随机选一个?
-
很好,我没有考虑过,它不应该发生,但如果发生,我会想要所有基因
-
这个问题肯定已经在这个网站上得到了回答。
标签: r dataframe dplyr data.table