我有這樣的df
f <- data. frame(gene=c("gene1"/span>。 "gene1", "gene2"。 "gene2"。 "gene2", "gene3"。 "gene3", "gene3"),
距離 = c(10。 -5, 40。 -60。 0, -150, 5, -200))
而且我想只選擇距離最接近零(但不是零)的基因,以便得到這個結果
gene distance
基因1 -5
基因2 40
基因35
我試過這樣做
distances <- f %>%
group_by(gene) %>%
filter(distance == min(abs(distance)) & 距離! = 0) %> %
解除組
但它并沒有像預期的那樣作業。任何建議都將是偉大的!
uj5u.com熱心網友回復:
我們可以對不是0的distance值進行子集,并選擇具有最小值的行。
library(dplyr)
f %>%。
group_by(gene) %>%
filter(abs(distance) == min(abs(distance[/span>distance! = 0])) %> %
解除組
# gene distance[/span]。
# <chr> <dbl>
#1 基因1 -5
#2 基因2 40
#3 gene3 5
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/332234.html
標籤:
