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

如何在R/tidyverse中使用模式向量批量匹配数据框多个变量

R tidyverse实现多列匹配生成虚拟变量的方案

你可以直接用dplyr包的across()函数批量处理key1到key30列,一行代码即可完成需求:

步骤1:加载依赖包

library(tidyverse)

步骤2:核心处理代码

result_df <- data_df %>%
  mutate(
    # 批量选中key1到key30列进行处理
    across(
      .cols = num_range("key", 1:30),
      # 精确判断值是否在目标向量中,转换为0/1整数
      .fns = ~ as.integer(. %in% my_patterns),
      # 定义新生成的匹配列名格式
      .names = "{.col}_match"
    )
  )

规则说明

  • 代码默认空字符串""、NA值判定为未匹配,赋值为0,符合需求的未匹配赋值规则
  • 如果需要调整为模糊匹配、忽略大小写匹配等规则,仅需修改.fns内的判断逻辑即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 04:36:10