Com merge() você pode fazer a linkagem deterministica. Para linkagem probabilistica, veja o pacote RecordLinkage, especificamente a função compare.linkage() ou RLBigDataLinkage() caso seus data.frame tenham mais de um milhão de registros cada um.