Ответ 1
Используйте %in%
следующим образом
A$C %in% B$C
Что скажет вам, какие значения столбца C из A находятся в B.
Возвращается логический вектор. В конкретном случае вашего примера вы получаете:
A$C %in% B$C
# [1] TRUE FALSE TRUE TRUE
Что вы можете использовать в качестве индекса для строк A
или как индекс для A$C
для получения фактических значений:
# as a row index
A[A$C %in% B$C, ] # note the comma to indicate we are indexing rows
# as an index to A$C
A$C[A$C %in% B$C]
[1] 1 3 4 # returns all values of A$C that are in B$C
Мы можем также отрицать это:
A$C[!A$C %in% B$C]
[1] 2 # returns all values of A$C that are NOT in B$C
Если вы хотите узнать, есть ли определенное значение в B $C, используйте ту же функцию:
2 %in% B$C # "is the value 2 in B$C ?"
# FALSE
A$C[2] %in% B$C # "is the 2nd element of A$C in B$C ?"
# FALSE