Выберите только первую строку при объединении фреймов данных с несколькими совпадениями

У меня есть два фрейма данных «data» и «scores», и я хочу объединить их в столбце «id»:

data = data.frame(id = c(1,2,3,4,5),
                  state = c("KS","MN","AL","FL","CA"))
scores = data.frame(id = c(1,1,1,2,2,3,3,3),
                    score = c(66,75,78,86,85,76,75,90))
merge(data, scores, by = "id")                  
semi_join(data, scores, by = "id")                  

В данных «Score» есть «id» с несколькими наблюдениями, где каждое совпадение получает строку после объединения. Увидеть?merge:

Если существует более одного совпадения, все возможные совпадения вносят по одной строке каждый.

Однако я хочу сохранить только строку, соответствующуюпервый матч изscores Таблица.

Полу-соединение было бы неплохо, но я не могу выбрать счет из правой таблицы.

Какие-либо предложения?

Ответы на вопрос(3)

Ваш ответ на вопрос