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.