有谁能帮我写R脚本,给我两个表达最好的基因?

有谁能帮我写R脚本,给我两个表达最好的基因?,r,R,我想在这样的数据集中找到前两个表达的异构体: ID position count Gene1, 1300, 200 Gene1, 1400, 54 Gene1, 4500, 178 Gene1, 230, 450 Gene2, 4580, 80 Gene2, 549, 740 Gene2, 84, 199

我想在这样的数据集中找到前两个表达的异构体:

ID         position   count
Gene1,       1300,       200
Gene1,      1400,        54
Gene1,       4500,      178
Gene1,       230,        450
Gene2,       4580,       80
Gene2,       549,        740
Gene2,       84,         199
ID,        position1,   p1-count,   position2,  p2-count
Gene1,       230,          450,       1300,        200
Gene2,       84,           199,       549,         740
结果应该如下所示:

ID         position   count
Gene1,       1300,       200
Gene1,      1400,        54
Gene1,       4500,      178
Gene1,       230,        450
Gene2,       4580,       80
Gene2,       549,        740
Gene2,       84,         199
ID,        position1,   p1-count,   position2,  p2-count
Gene1,       230,          450,       1300,        200
Gene2,       84,           199,       549,         740

谢谢你的帮助。

我也在研究生物数据。所以我知道你想要什么

d1 <- read.table(text="ID position count
Gene1 1300 200
Gene1 1400 54
Gene1 4500 178
Gene1 230 450
Gene2 4580 80
Gene2 549 740
Gene2 84 199", head=T, as.is=T)

library(dplyr)

d2 <- d1 %>% group_by(ID) %>% arrange(desc(count)) %>%
  do(head(., 2)) %>% group_by(ID)\

d2
# Source: local data frame [4 x 3]
# Groups: ID [2]

#      ID position count
#   (chr)    (int) (int)
# 1 Gene1      230   450
# 2 Gene1     1300   200
# 3 Gene2      549   740
# 4 Gene2       84   199

这是否意味着您正在寻找每个
ID
的前两名
count
?我们并不都是生物学家。你能解释一下你是如何得出这个结果的吗?这只是位置的两个最低值吗?对不起,没有明确的解释。程序必须检查每个ID的计数,选择前2个计数,然后打印ID,位置对应最高计数,最高计数,位置对应第二高计数和第二高计数。非常感谢文耀!