У меня есть матрица корреляции, и мне нужно извлечь верхние значения и удалить обратные дубликаты (коррелированные sw6 & sw4 = 0.6 означают то же самое, что sw4 & sw6 = 0.6).
Я использовал ответ от здесь , который использует изменение формы для вывода верхних корреляций выше 0,5. Теперь моя единственная проблема в том, что есть обратные дубликаты. Этот вопрос здесь в значительной степени выполняет то, что я хочу - удалить эти обратные дубликаты, но только с apply
, который, боюсь, может замедлить мой код для больших наборов. Есть ли способ удалить обратные дубликаты без него?
Или есть лучший способ получить верхние корреляции матрицы, производя только уникальные комбинации?
Выход после изменения формы выглядит следующим образом:
X1 X2 value
sw6 sw4 0.6299408
sw4 sw6 0.6299408
ss sl 0.5833333
sl ss 0.5833333
id ty 0.5724780
ty id 0.5724780
sl br 0.5333965
br sl 0.5333965
Но каждые две строки одинаковы.