1

パラメータ空間のセットを探索するシミュレーション データセットがあり、各パラメータ セットが複数回 (反復) 実行されます。次のようになります。

p1    p2    p3  iteration  result
=================================
v3    v2    v1      1       23.8
v2    v1    v3      2       20.36
v3    v2    v1      2       28.8
v2    v1    v3      1       29.36
...

この例からわかるように、(v3, v2, v1) と (v2, v1, v3) の両方が 2 回実行されます。この例では、パラメーター設定ごとに最大の結果を持つ行のみを抽出しようとしています。そのパラメーター セットからの最良の結果を表すため、行 3 と 4 のみを保持する必要があります。Rでそれを達成する簡単な方法はありますか? ありがとう

4

1 に答える 1

3
df <- read.table(textConnection("p1    p2    p3  iteration  result
v3    v2    v1      1       23.8
v2    v1    v3      2       20.36
v3    v2    v1      2       28.8
v2    v1    v3      1       29.36"), header = T)

library(plyr)
ddply(df, .(p1,p2,p3), function(x) return(x[(which(x$result == max(x$result))), ]))

p1 p2 p3 iteration result
1 v2 v1 v3         1  29.36
2 v3 v2 v1         2  28.80
于 2012-09-14T21:25:05.070 に答える