Вы можете использовать igraph, чтобы создать неориентированный граф, а затем преобразовать обратно в файл data.frame
igraph
unique(get.data.frame(graph.data.frame(df, directed=FALSE),"edges"))