mesclar em R resulta em mais linhas que um dos quadros de dados

Eu tenho dois quadros de dados, o primeiro contém 9994 linhas e o segundo contém 60431 linhas. Desejo mesclar os dois quadros de dados, de modo que o quadro de dados mesclado contenha colunas combinadas dos dois quadros de dados, mas contenha apenas 9994 linhas.

No entanto, recebo mais de 9994 linhas após a mesclagem. Como posso garantir que isso não aconteça?

df1 = readRDS('data1.RDS')
nrow(df1)
# [1] 9994

df2 = readRDS('data2.RDS')
nrow(df2)
# [1] 60431

df = merge(df1,df2,by=c("col1","col2"))
nrow(df)
# [1] 10057

df = merge(df1,df2,by=c("col1","col2"),all.x=TRUE)
nrow(df)
# [1] 10057
nrow(na.omit(df))
# [1] 10057

EDIT: Após o comentário de akrun. Sim, houve duplicatas no segundo quadro de dados

nrow(unique(df2[,c("col1","col2")]))
# [1] 60263
nrow(df2)
# [1] 60431

Como posso obter apenas uma linha de um quadro de dados se houver vários para a mesma combinação {col1, col2}. Ao mesclar, gostaria de ter apenas 9994 linhas.

questionAnswers(1)

yourAnswerToTheQuestion