Мне интересно, есть ли способ (функция или несколько элегантных строк кода), который может помочь мне отфильтровать результаты с этой проблемной структурой фрейма данных / зависимостью столбца.
У меня есть сценарий, в котором у меня есть функции, которые сильно коррелируют друг с другом (например, таблица 1).
У меня также есть отдельная таблица, в которой перечислены другие оценки для каждого отдельного объекта (например, таблица 2).
Таблица 1:
feature1, feature2, feature_correlation_score
a, b, 0.7
c, d, 0.5
b, a, 0.7
d, c, 0.5
e, f, 0.8,
f, e, 0.8
Таблица 2:
feature, label_correlation_score
a, 0.20
b, 0.15
c, 0.08
d, 0.04
e, 0.02
f, 0.02
Что я хочу сделать is:
(1) Укажите каждую уникальную пару feature1
и feature2
(т. е. a, b и b, a одинаковые).
(2 ) Затем изучите значение label_correlation_score
из таблицы 2 для каждого значения в паре и сохраните только свойство, имеющее наивысший label_correlation_score
между каждой уникальной парой.
(3) Сохраните результаты в новой таблице, которая выглядит следующим образом:
Финальный стол:
feature, label_correlation_score
a, 0.20
c, 0.08
e, 0.02
Примечание: это может быть либо e или f выбран в последнем ряду, потому что их label_correlation_scores
одинаковы.
Заранее спасибо!
Редактировать: Мне также интересно, каким будет эквивалентный код, использующий data.table
.