我有一个data frame
,(我只显示df
的尾部)该数据帧被称为conv2
崩溃的最大
8464 208394_x_at ESM1 -1.035878e-01
8468 200858_s_at SNORD55 -1.034971e-01
8469 200858_s_at SNORD38B -1.034971e-01
8467 200858_s_at RPS8 -1.034971e-01
8472 207381_at RPS8 -1.034510e-01
8477 211197_s_at ICOSLG -1.033752e-01
我要的是,每当有第二列一个名字例如RPS8
删除所有包含此名称的行,除了第三列中具有最高绝对值的行。因此在示例行8467
将被删除。
我已经做了这样
for (d in dup){
conv2 <- rbind(conv2, conv[which(conv$SYMBOL == d),][which.max(abs(conv[which(conv$SYMBOL == d),][,3])),])
}
是否有这样做的更好,更快的方式?