Обнаружение циклов в двух столбцах кадра данных

Ищу решение следующей проблемы:

dp <- c('a','x','b','z','c')

rf <- c('b','z','c','a','a')

df <- data.frame(dp, rf)

Для этого примера кадра данных я хочу распознать, есть ли циклы от dp до rf. Такой цикл будет в этом примере: a --> b, b --> c, c --> a. В этом случае я хотел бы удалить строку, где dp = c и rf = a. Цикл может быть длиннее, чем только эти 3 зависимости.

Заранее спасибо за помощь!


person goegges    schedule 09.07.2020    source источник
comment
Во-первых, получите числовое значение буквы (или назначьте его, если вы работаете с чем-то другим). Затем проверьте, если dp[i+1] - dp[i] == 1. Будет ли что-то подобное работать?   -  person mhovd    schedule 09.07.2020
comment
Не совсем уверен, как это может работать. Могут быть и другие циклы, чем в примере. Кроме того, ваше решение рассматривает только dp, но не rf. Может быть, вы подробнее разработаете свое предложение?   -  person goegges    schedule 09.07.2020
comment
Можете ли вы добавить еще несколько примеров с ожидаемым результатом?   -  person mhovd    schedule 09.07.2020
comment
Возможно, загрузите объект графа с помощью igraph, а затем найдите все циклы   -  person MrFlick    schedule 09.07.2020
comment
См. также Найти все существующие циклы из данных в R   -  person Henrik    schedule 09.07.2020