R语言如何实现两个dataframe数据框的ID匹配及存在性标记
实现方法
方法1:基础R实现(无需额外安装包)
核心使用%in%匹配运算符,配合ifelse生成标记列即可,代码如下:
# 构造基础数据 data1 <- data.frame(ID = c(123,124,125,128,135,160,185,195,201,101,584)) data2 <- data.frame(ID = c(123,124,125,128,160,195,201)) # 新增匹配标记列 data1$On.data2. <- ifelse(data1$ID %in% data2$ID, "Yes", "No")
运行后直接查看data1即可得到你需要的结果。如果不需要文本标记,只需要逻辑值,可以直接简化为data1$On.data2. <- data1$ID %in% data2$ID,匹配成功返回TRUE,失败返回FALSE。
方法2:tidyverse风格实现(dplyr包)
如果你习惯使用tidyverse语法,可以用mutate生成新列:
library(dplyr) data1 <- data1 %>% mutate(On.data2. = if_else(ID %in% data2$ID, "Yes", "No"))
内容的提问来源于stack exchange,提问作者RL_Pug
相关产品推荐
相关产品推荐

