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

如何仅用基础运算符/循环判断向量元素是否在另一向量中(不使用%in%)

实现方法

可以通过嵌套循环结合基础比较运算符来实现,具体步骤和代码如下:

  1. 先初始化一个和vector_1长度一致的逻辑向量,默认值设为FALSE,用来存储最终判断结果。
  2. 外层循环遍历vector_1的每一个元素,记录当前元素的位置。
  3. 内层循环遍历vector_2的每一个元素,将当前vector_1的元素和vector_2的元素逐一比较:
    • 如果发现相等的元素,就把结果向量对应位置的值改为TRUE,然后跳出内层循环(避免重复判断,提升效率)。
  4. 循环结束后,输出结果向量即可。

对应的R代码:

vector_1 = c(4,3,5,1,2)
vector_2 = c(3,1)

# 初始化结果向量,长度和vector_1一致,默认FALSE
result = logical(length(vector_1))

# 外层循环:遍历vector_1的每个元素
for (i in 1:length(vector_1)) {
  # 内层循环:遍历vector_2的每个元素
  for (j in 1:length(vector_2)) {
    # 基础比较运算符判断元素是否相等
    if (vector_1[i] == vector_2[j]) {
      result[i] = TRUE
      # 找到匹配后跳出内层循环
      break
    }
  }
}

# 输出结果
result

运行这段代码后,输出结果为:

[1] FALSE  TRUE FALSE  TRUE FALSE

全程仅使用了基础赋值、比较运算符(==)、循环(for)和条件判断(if),未使用%in%或其他R函数,完全符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 05:25:37