さて、私はRにかなり慣れていないので、ドキュメントで何をする必要があるかを検索しようとしましたが、ここに問題があります。
次の形式のheeds.dataというdata.frameがあります(簡単にするために一部の列は省略されています)eval.num、eval.count、... Fitness、fitness.mean、green.h.0、green.v.0、 offset.0、green.h.1、green.v.1、... green.h.7、green.v.7、offset.7 .. ..
そして、次の基準を満たす行を選択しました。
best.fitness <- min(heeds.data$fitness.mean[heeds.data$eval.count >= 10])
best.row <- heeds.data[heeds.data$fitness.mean == best.fitness]
さて、私が欲しいのは、他のすべての行で、列green.h.0からoffset.7(列の連続セクション)がbest.rowに等しいことです。
私はこれがうまくいくかもしれないと思っていました
heeds.best <- heeds.data$fitness[
heeds.data$green.h.0 == best.row$green.h.0 & ...
]
しかし、24列の場合、それはばかげた方法のようです。手作業での入力が少なく、少し簡単なものを探しています。
これが私が欲しいものを示すための短いデータサンプルです
eval.num, eval.count, fitness, fitness.mean, green.h.0, green.v.0, offset.0
1 1 1500 1500 100 120 40
2 2 1000 1250 100 120 40
3 3 1250 1250 100 120 40
4 4 1000 1187.5 100 120 40
5 1 2000 2000 200 100 40
6 1 3000 3000 150 90 10
7 1 2000 2000 90 90 100
8 2 1800 1900 90 90 100
行4として「最良」を選択する必要があります次に、次のように結果を取得します
eval.num, eval.count, fitness, fitness.mean, green.h.0, green.v.0, offset.0
1 1 1500 1500 100 120 40
2 2 1000 1250 100 120 40
3 3 1250 1250 100 120 40
4 4 1000 1187.5 100 120 40
データは実際には並べ替えられておらず、さらに多くの列がありますが、それが概念です
ありがとう!