dplyr过滤器“;“单元格内容”&引用;“单元格值”;是
这是一个基本问题,但我花了2个小时寻找答案,却没有找到解决方法。我有一个Likert量表(0,5,10),但不幸的是,我的数据集有一些不同的值(例如,800)。我写了一个可复制的代码 我想使用dplyr只保留我只有0,5,10的行(或者删除我有奇怪结果的整行) 范例 代码:dplyr过滤器“;“单元格内容”&引用;“单元格值”;是,r,dplyr,packages,R,Dplyr,Packages,这是一个基本问题,但我花了2个小时寻找答案,却没有找到解决方法。我有一个Likert量表(0,5,10),但不幸的是,我的数据集有一些不同的值(例如,800)。我写了一个可复制的代码 我想使用dplyr只保留我只有0,5,10的行(或者删除我有奇怪结果的整行) 范例 代码: dat使用filter\u all和all\u vars: dat # v1 v2 v3 v4 v5 #1 10 10 10 800 0 #2 5 0 0 10 800 #3 0 0 0
dat使用filter\u all
和all\u 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
将filter\u all
与all\u 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
你想“循环”什么?您是否有不止一个这样的数据集?不必删除整行数据,您是否可以执行类似于mutate_at(vars(v1:v5),function(x)ifelse(x%in%c(0,5,10),x,NA))
?您想“循环”什么?您是否有多个这样的数据集?不必删除整行数据,您可以只做一些类似于mutate_at(vars(v1:v5),function(x)ifelse(x%in%c(0,5,10),x,NA))
?谢谢,@Psidom。我在找那个!谢谢,@Psidom。我在找那个!
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