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

基于两列数据与向量值创建新变量Match的R语言需求

为DataFrame添加Match列的实现方案

已知条件

  • 现有包含V1、V2两列的DataFrame
  • 预先定义向量Z:
Z <- c('931', '907','905','902','8552','855','8542','854','8532','853','852','851','850')

Match列取值规则

  • 当V1与V2值完全相同时,Match赋值为1
  • 当V1和V2的值都存在于向量Z中时,Match赋值为2
  • 当V1或V2有任意一个值不在向量Z中时,Match赋值为3

实现代码

使用dplyr包的case_when函数可以清晰实现上述逻辑(若未安装dplyr,先运行install.packages("dplyr")完成安装):

library(dplyr)

# 为目标DataFrame添加Match列
df <- df %>%
  mutate(Match = case_when(
    V1 == V2 ~ 1,
    V1 %in% Z & V2 %in% Z ~ 2,
    TRUE ~ 3
  ))

验证结果

处理后的DataFrame与示例要求一致:

V1V2Match
85526893
57685523
85529072
8552853
85529022
85527833
9313673
855210903
85529052
855285521
855210043
1139073
855210013
85425643
8507203

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 00:37:24