Хотя предложение Винсента велико, я хотел предложить другой способ использования базы R, используя нечто, похожее на ваши данные.
df1 <- data.frame(name = c("Val","Sarah","Al"))
df2 <- data.frame(name = c("Joe","Jen","Kevin","Val","Sarah","Al"),
gender = c("M","F","M","F","F","M"))
df3 <- merge(df1, df2, by = intersect(colnames(df1), colnames(df2)))