r - 检查一个数据框列中的值是否存在于第二个数据框中

标签 r dataframe

我有两个数据框(A 和 B),都有一列“C”。我想检查数据框 A 中“C”列中的值是否存在于数据框 B 中。

A = data.frame(C = c(1,2,3,4))
B = data.frame(C = c(1,3,4,7))

最佳答案

使用 %in%如下

A$C %in% B$C

这将告诉您 A 的 C 列的哪些值在 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

关于r - 检查一个数据框列中的值是否存在于第二个数据框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13774773/

相关文章:

python - 仅使用 getvalueofnode(node.find()) 获取 pandas Dataframe 中的第一行

python - 如何根据条件从数据框中交叉制表列?

r - 对速度波束和方向扇区进行分类

r - 如何在 ifelse 语句中忽略 NA

r - 探索澳大利亚人口普查数据的最佳方式?

r - 从数据帧中的重复测量中检测不可能的数据输入错误

python - pandas 可以对 RollingGroupby 对象上的字符串类型列进行计数吗?

python - 如何在Python中获取非数值数据的摘要

r - 如何处理lubridate默认ymd的变化

r - dplyr::copy_to 和 sparklyr::sdf_copy_to 有什么区别?