You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何统计R语言两个数据框指定列的共有唯一值匹配数量

解决方案

count()是dplyr包中用于统计数据框分组频数的函数,要求输入参数为数据框,你传入逻辑向量属于参数类型错误,无法得到预期结果。

最简实现方法

R中布尔值TRUE对应数值1、FALSE对应数值0,直接对匹配逻辑向量求和即可得到匹配为TRUE的总数量:

# 统计df1中id列能匹配到df2$id的总行数
sum(df1$id %in% df2$id)

如果需要统计的是df1中唯一ID值的匹配数量(去重后匹配的ID总数),先对df1的id列去重再计算即可:

# 统计df1的唯一ID出现在df2$id中的总数量
sum(unique(df1$id) %in% df2$id)

写入汇总表的写法

直接将求和结果赋值给新列即可:

output <- data.frame(
  idMatch = sum(df1$id %in% df2$id)
)

可选实现方式

如果要基于你之前的table()结果提取数值,也可以通过索引提取TRUE对应的统计值,效果和求和一致:

table(df1$id %in% df2$id)["TRUE"]

内容的提问来源于stack exchange,提问作者Mus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 02:45:03