这是一个基本问题,但我花了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))
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用这样的东西:
dat2 <- dat %>% filter(rowSums(.) < 50)
Run Code Online (Sandbox Code Playgroud)
但是我想"循环"所有数据集以丢弃我所拥有的不同数字的行.
谢谢
使用filter_all有all_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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
139 次 |
| 最近记录: |