Для каждой записи Birth_Sex
в df1
сначала мы находим номера строк, которые имеют эту запись в df2
, и выбираем индекс любой строки для подмножества df2
.
df2[sapply(df1$Birth_Sex, function(x) {
inds = which(df2$Birth_Sex %in% x)
if(length(inds) > 1) sample(inds, 1) else inds
}), ]
# ID Birth_Sex
#1 123113 1999_1
#4 124513 1969_1