Хорошо, я довольно новичок в R, и я попытался найти в документации то, что мне нужно сделать, но здесь проблема.
У меня есть data.frame с именем heeds.data в следующей форме (некоторые столбцы для простоты опущены)
eval.num, eval.count, ... fitness, fitness.mean, green.h.0, green.v.0, offset.0, green.h.1, green.v.1, ... зеленый. 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
Данные на самом деле не отсортированы, и есть еще много столбцов, но это концепция
Спасибо!