R 如何根据每个基因的距离只获得一个linc
我有一张表,上面有对(Lnc/基因)和它们的距离 但我需要做过滤,为每个Lnc找到最接近的基因 范例 Genex Lnc1 1KB GeneY Lnc4 20KBR 如何根据每个基因的距离只获得一个linc,r,R,我有一张表,上面有对(Lnc/基因)和它们的距离 但我需要做过滤,为每个Lnc找到最接近的基因 范例 Genex Lnc1 1KB GeneY Lnc4 20KB 提前感谢下面是一个可能的dplyr解决方案。请尽量通过共享最少的数据集/代码来回答您的问题 # importing the necessary package library(dplyr) # reproducing your data df <- data_frame( Gene = c("Gene X", "Gene
提前感谢下面是一个可能的
dplyr
解决方案。请尽量通过共享最少的数据集/代码来回答您的问题
# importing the necessary package
library(dplyr)
# reproducing your data
df <- data_frame(
Gene = c("Gene X", "Gene X", "Gene X", "Gene Y"),
Lnc = c("Lnc1", "Lnc2", "Lnc3", "Lnc4"),
`Distance (KB)` = c(1, 300, 200, 20)
)
# grouping by Gene and choosing the minimum Gene-Lnc distance
df %>%
group_by(Gene) %>%
filter(`Distance (KB)` == min(`Distance (KB)`))
# # A tibble: 2 x 3
# # Groups: Gene [2]
# Gene Lnc `Distance (KB)`
# <chr> <chr> <dbl>
# 1 Gene X Lnc1 1
# 2 Gene Y Lnc4 20
#导入必要的包
图书馆(dplyr)
#复制数据
df%
分组依据(基因)%>%
过滤器(`Distance(KB)`==min(`Distance(KB)`))
##tibble:2 x 3
##群体:基因[2]
#基因Lnc`距离(KB)`
#
#1基因X Lnc1
#2基因Y Lnc4 20
如果只有一对Lnc,基因,具有最接近的距离,那么您也可以使用下面的
df%>%
group_by(Gene)%>%
arrange(`Distance (KB)`)%>%
summarise(Lnc=first(Lnc), Dist=first(`Distance (KB)`))
图片和截图可以很好地添加到帖子中,但请确保没有它们的帖子仍然清晰有用。不要发布代码、数据或错误消息的图像。而是直接将实际的代码/数据/消息复制粘贴或键入到帖子中。