Rでキー列ごとに代表の値をえたデータフレームをえる方法。(Rでキーがユニークになるように集約、 グループ代表値以外データフレームから削除する方法)

Rでキー列ごとに代表の値をえたデータフレームをえる方法。ユニークになるように集約
つまり、グループ代表値以外データフレームから削除する方法は、distinctを用いる.
http://a-habakiri.hateblo.jp/entry/2016/11/29/215013
例:入力

a b c
1 1 3
1 1 4
1 2 5
2 1 6
2 1 7
2 1 8
3 1 9
4 2 10

aとbをキーとして代表値をして以下のテーブルがえたい

a b c
1 1 3
1 2 5
2 1 7
3 1 9
4 2 10

Rでは

library(dplyr)
a<-c(1,1,1,2,2,2,3,4)
b<-c(1,1,2,1,1,1,1,2,1)
c<-c(3,4,5,6,7,8,9,10)
dat<-data.frame(a,b,c)
dplyr::distinct(dat,a,b,.keep_all=TRUE)