df
列d
、、、c
を持つデータフレームが与えられますv
。レコードのサブセットの中からd
の最大値のの値を見つけるにはどうすればよいですか?v
c == "foo"
私はこれを試しました:
df[df$v==max(df$v) & df$c == "foo","d"]
しかし、私は得ました:
character(0)
df
列d
、、、c
を持つデータフレームが与えられますv
。レコードのサブセットの中からd
の最大値のの値を見つけるにはどうすればよいですか?v
c == "foo"
私はこれを試しました:
df[df$v==max(df$v) & df$c == "foo","d"]
しかし、私は得ました:
character(0)
Yoは次のように行うことができます:
with(df, d[v== max(v[c=="foo"])])
d
編集済み:すべてのレベルのの値を取得する場合c
:
library(plyr)
ddply(df, "c", subset, v==max(v))
マヌエルの答えはほとんどの場合うまくいくでしょうが、私はより正しいバージョンは次のようになると信じています:
with(df, d[v== max(v[c=="foo"]) & c=="foo"])
v==max
それ以外の場合は、のサブセットを持っているが実際にはサブセットではない行を照合することができc=="foo"
ます。