Вот решение с data.table
library("data.table")
D <- data.table(person=c('A','A','A','B','B','B','C','C'), activity=c(1,2,3,1,2,3,1,2))
relevant_activities <- c(1,2)
D[person %in% D[, all(activity %in% relevant_activities), person][, person[V1]]]
или с ключом для ввода данных:
D <- data.table(person=c('A','A','A','B','B','B','C','C'),
activity=c(1,2,3,1,2,3,1,2), key="person")
relevant_activities <- c(1,2)
D[D[, all(activity %in% relevant_activities), person][, person[V1]]]