Код:
do.call('rbind', list(do.call('cbind', list(dt = 'dt1', df1[df1$X %in% c('dog', 'woman'), ])),
do.call('cbind', list(dt = 'dt2', df2[df2$X %in% c('dog', 'woman'), ]))))
# dt X Y Z
# 2 dt1 dog 13 b
# 21 dt2 dog 11 c
# 4 dt2 woman 15 m
Данные:
df1 <- read.table(text='X Y Z
cat 12 a
dog 13 b
man 14 c
bird 6 d', header = TRUE, stringsAsFactors = FALSE)
df2 <- read.table(text = 'X Y Z
cat 10 a
dog 11 c
man 14 d
woman 15 m', header = TRUE, stringsAsFactors = FALSE)