【发布时间】:2015-05-25 09:46:50
【问题描述】:
这是数据文件df
Gene CHR Start End Window
AKT3 chr1 243651534 244006553 355019
AKT3 chr1 243666483 244006553 340070
CBL chr11 119076989 119178858 101869
CLCF1 chr11 67131640 67141206 9566
CLCF1 chr11 67131640 67141648 10008
我想删除 Gene 列中重复的行,只保留最大 window 的行。
结果应该如下所示:
Gene CHR Start End Window
AKT3 chr1 243651534 244006553 355019
CBL chr11 119076989 119178858 101869
CLCF1 chr11 67131640 67141648 10008
我可以使用以下代码在 R 中做到这一点:
data = split(df, df$Gene)
data = lapply(data, function(x) x[which.max(x$Window), , drop=FALSE])
data = do.call("rbind", data)
但是谁能告诉我如何使用 awk 或 sed 来做到这一点?
谢谢。
【问题讨论】: