dplyr 过滤器 "cell content" "cell value" 是

dplyr filter "cell content" "cell value" is

这是一个 基本问题,但我花了 2 个小时搜索答案,但没有找到解决方法 。我有一个李克特量表 (0,5,10),但不幸的是,我的数据集有一些不同的值(例如 800)。我写了一个可重现的代码。

我想使用 dplyr 只保留我只有 0、5、10 的行(或者删除我有奇怪结果的整行)

例子 代码:

dat <- data.frame(v1=c(10,5,0,10), 
                  v2=c(10,0,0,800), 
                  v3=c(10,0,0,5), 
                  v4=c(800,10,5,10),
                  v5=c(0,800,5,10))

我知道我可以使用类似的东西:

dat2 <- dat %>% filter(rowSums(.) < 50)

但我想 "loop" 所有数据集删除数字与我预期不同的行。

谢谢

filter_allall_vars 一起使用:

dat
#  v1  v2 v3  v4  v5
#1 10  10 10 800   0
#2  5   0  0  10 800
#3  0   0  0   5   5
#4 10 800  5  10  10

filter_all(dat, all_vars(. %in% c(0,5,10)))
#  v1 v2 v3 v4 v5
#1  0  0  0  5  5