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

R语言如何使用==运算符实现与%in%运算符相同的计算效果

R语言使用==运算符实现%in%等效计算

%in%的本质是判断左侧向量的每一个元素是否在右侧向量中存在匹配,返回和左侧向量等长的逻辑向量。而==是逐元素对等比较,要实现和mean(com %in% ovals)完全一致的结果,需要对左侧每个元素逐一和右侧所有元素做==比较,只要存在任意一次相等就记为TRUE,再计算均值。

实现代码

以下两种写法都可以得到完全一致的结果:

  1. 适合小数据量的简洁写法
mean(sapply(com, function(x) any(x == ovals)))
  1. 适合大数据量的高效向量化写法
mean(apply(outer(com, ovals, `==`), 1, any))

结果验证

直接运行上述代码和原表达式mean(com %in% ovals)对比,返回的数值完全相等。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 10:18:01