r - 如何在r中按组选择最高值的行?
问题描述
我有一个名为“基因座”的组中的基因数据集,我希望选择与同一基因座/组中的基因相比得分最高的基因
我的输入数据如下所示:
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 尝试一些东西,dplyr::group_by()
但我不断收到各种错误。
解决方案
使用 dplyr:
> library(dplyr)
> df %>% group_by(loci) %>% filter(Score == max(Score))
# A tibble: 2 x 3
# Groups: loci [2]
loci Gene Score
<dbl> <chr> <dbl>
1 1 AQP11 0.557
2 2 CHST6 0.540
推荐阅读
- python - 如何让 terraform 在 Kali Linux 上使用 runcmd?
- azure - 多次出现 count.index 的 Azure 多区域部署错误
- javascript - 使用 Nodejs 运行时连接 mongoDb 中的多个数据库
- firebase - 使用 Firebase SDK 处理错误代码
- python - Windows 上的 Python Tkinter?
- data-binding - 附加属性绑定不适用于 Flayout(Xaml、UWP)
- javascript - 材料表可编辑:使所有行一次可编辑
- python - Python:使用预设图形和布局与多个绘图一起使用
- azure-data-lake - 自定义 USQL 提取器 - 如何处理超过 4 MB 的 json 对象
- javascript - 第一次运行 Reac-native