Рассмотрим следующий кадр данных:найти один-к-одному, один-ко-многим и многие-к-одному отношения между столбцами
first_name last_name
1 Al Smith
2 Al Jones
3 Jeff Thompson
4 Scott Thompson
5 Terry Dactil
6 Pete Zah
data <- data.frame(first_name=c("Al","Al","Jeff","Scott","Terry","Pete"),
last_name=c("Smith","Jones","Thompson","Thompson","Dactil","Zah"))
В этом кадре данных, есть три способа, которыми first_name является связанный с last_name:
- Один на один (т.е. существует однозначная связь между first_name и last_name)
- один ко много (т.е. точка один first_name несколько last_name значений)
- Многие к одному (т.е. несколько значений first_name указывают на один last_name)
Я хочу, чтобы иметь возможность быстро идентифицировать каждый из этих трех случаев и выводить их в кадр данных. Таким образом, полученные кадры данных будут:
Один на один
first_name last_name
1 Terry Dactil
2 Pete Zah
Один ко многим
first_name last_name
1 Al Smith
2 Al Jones
Многие на один
first_name last_name
1 Jeff Thompson
2 Scott Thompson
Я хотел бы сделать это в течение пакет dplyr.
Вы хотите, чтобы функция 'duplicated()' –
[здесь] (http://www.cookbook-r.com/Manipulating_data/Finding_and_removing_duplicate_records/) представляет собой пример кода с использованием 'duplicated()', но я думаю, что это быть крутым, если бы вы могли дать нам что-то конкретное здесь, @RichardScriven. Я не пытаюсь решить эту проблему. ти. –