R语言 按不同列中的字符串值按列进行过滤

t3psigkw  于 2022-12-20  发布在  其他
关注(0)|答案(1)|浏览(134)

让我介绍一个与我遇到的问题类似的问题

a <- c("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday")
b <- c("Saturday", "Sunday")

我想从a中过滤/删除B的值,这意味着我只需要5天就可以结束了。(字符串)和另一个df_2,其中有700列需要相应地过滤。我最多需要得到3000 - 700 = 2300个值,但是df_2中的一些可能不在df_1中!请帮助我沸腾的大脑。谢谢
我尝试使用:

str_detect
df_1 %>% filter(print(across(everything(), ~ !str_detect(.,df_2))))

到目前为止没有运气,问题一定是我使用的方法

vm0i2vca

vm0i2vca1#

您可以使用setdiff

setdiff(a, b)
# [1] "Monday"    "Tuesday"   "Wednesday" "Thursday"  "Friday"

或通过索引

a[!(a %in% b)]
# [1] "Monday"    "Tuesday"   "Wednesday" "Thursday"  "Friday"

相关问题