如何利用重复值列表从data frame中删除对应值的所有行
解决方案
以下是基于你已准备好的Remove_SFC列表实现删除的两种常用方法:
方法1:dplyr 实现(适配tidyverse语法体系)
如果你的Remove_SFC为列表格式,需先转换为字符向量:
Remove_SFC_vec <- unlist(Remove_SFC)
随后过滤保留未出现在待删除列表中的行:
library(dplyr) Retest_data_clean <- Retest_data %>% filter(!SFC %in% Remove_SFC_vec)
方法2:Base R 实现(无需加载第三方包)
Remove_SFC_vec <- unlist(Remove_SFC) Retest_data_clean <- Retest_data[!Retest_data$SFC %in% Remove_SFC_vec, ]
可选一步实现方案(无需提前生成Remove_SFC列表)
如果你后续需要直接基于出现次数过滤,无需提前统计重复值生成待删除列表,可以直接用以下代码实现相同效果:
library(dplyr) Retest_data_clean <- Retest_data %>% add_count(SFC) %>% filter(n == 1) %>% select(-n)
内容的提问来源于stack exchange,提问作者CMAHER
相关产品推荐
相关产品推荐

