在数据帧的子集中查找列的最大值

amh*_*amh 4 r

给定的数据帧df的列d,c,v.如何找到价值d为最大值v的中的记录,其中c == "foo"

我试过这个:

df[df$v==max(df$v) & df$c == "foo","d"]
Run Code Online (Sandbox Code Playgroud)

但我得到了:

character(0)
Run Code Online (Sandbox Code Playgroud)

Man*_*món 9

哟可以这样做:

with(df, d[v== max(v[c=="foo"])])
Run Code Online (Sandbox Code Playgroud)

编辑:如果你想获得d所有级别的价值c:

library(plyr)
ddply(df, "c", subset, v==max(v))
Run Code Online (Sandbox Code Playgroud)