如何在R中基于两列因子的匹配条件筛选dataframe子集
R dataframe 行筛选实现方案
你可以通过以下两种常用方式实现需求,两种方式输出的结果都和你给出的预期一致:
方法1:基础R原生语法
不需要额外加载任何包,直接通过逻辑匹配筛选行:
# 仅保留sp1.col与sp2.col取值完全相等的行 result_df <- df[df$sp1.col == df$sp2.col, ]
方法2:dplyr包语法(tidyverse生态常用写法)
可读性更强,适合复杂筛选场景扩展:
# 未安装dplyr的话先运行 install.packages("dplyr") library(dplyr) result_df <- df %>% filter(sp1.col == sp2.col)
运行以上任意一种方法后,打印result_df即可得到你需要的结果:
sp1.col sp1.val sp2.col sp2.val 1 A 1 A 1 2 B 5 B 5 3 C 11 C 11
内容的提问来源于stack exchange,提问作者Rspacer
相关产品推荐
相关产品推荐

