I have a correlation matrix that I put in a dataframe like so:
row | var1 | var2 | cor
1 | A | B | 0.6
2 | B | A | 0.6
3 | A | C | 0
A dplyr possibility could be:
df %>%
group_by(grp = paste0(pmin(var1, var2), pmax(var1, var2))) %>%
slice(1) %>%
ungroup() %>%
select(-grp)
row var1 var2 cor
1 1 A B 0.6
2 3 A C 0.4
Or:
df %>%
group_by(grp = paste0(pmin(var1, var2), pmax(var1, var2))) %>%
filter(row_number() == min(row_number())) %>%
ungroup() %>%
select(-grp)
Or:
df %>%
group_by(grp = paste0(pmin(var1, var2), pmax(var1, var2))) %>%
summarise_all(list(first)) %>%
ungroup() %>%
select(-grp)