可能是重复问题:
仅保留每个因子水平的最小值
这是我的问题,我想选择指定列中具有最小值的行。 例如:
df <- data.frame(A=c("a","a","b","b"),value=1:4)
我想要的结果是
A value
a 1
b 3
我可以使用by
和ddply
,但是当数据框很大并且A
中有许多不同的值时,它们会变得非常缓慢。
do.call(rbind,by(df,df$A, function(x) x[which.min(abs(x$value)),],simplify=FALSE))
ddply(df, ~A, function(x){x[which.min(abs(x$value)),]})
任何建议吗?
非常感谢!