R 以分步方式按多列筛选样本,然后将每个步骤添加到同一数据帧
我试图以分层的方式过滤大型数据集。例如,我想通过过滤器A过滤R 以分步方式按多列筛选样本,然后将每个步骤添加到同一数据帧,r,dplyr,R,Dplyr,我试图以分层的方式过滤大型数据集。例如,我想通过过滤器A过滤df,然后通过B过滤新过滤的df,然后是C,依此类推 然而,在此过程中,我想将每个过滤器从df中删除的样本添加到master_df,其中包含已删除的样本以及作为列名的相应过滤器 我已为下面的df尝试了以下操作: sample speed time country 1 10 100 UK 2 20 100 UK 3 1 300
df
,然后通过B过滤新过滤的df
,然后是C,依此类推
然而,在此过程中,我想将每个过滤器从df
中删除的样本添加到master_df
,其中包含已删除的样本以及作为列名的相应过滤器
我已为下面的df
尝试了以下操作:
sample speed time country
1 10 100 UK
2 20 100 UK
3 1 300 USA
4 35 500 UK
5 55 400 UK
6 20 300 UK
任何帮助都将不胜感激!谢谢大家! 您当前拥有的是
&
条件,您需要更改条件以及运算符,以便该条件应以|
分隔:
library(dplyr)
df %>% filter(speed <= 10 | time < 100 | time > 400)
# sample speed time country
#1 1 10 100 UK
#2 3 1 300 USA
#3 4 35 500 UK
Hi@RonakShah抱歉,这是一个输入错误,如果有帮助的话,我现在已经添加了所需的输出。谢谢你抽出时间来看我。谢谢@RonakShah这很有帮助。但是,有没有一种方法可以将这些过滤结果输出到一个新的数据框中,该数据框只包含已过滤的列,而不包含未过滤的其他列的其他值?谢谢你的加入!那也很棒!我们是否可以直接将其输出到不包含国家(例如)或任何我未筛选的内容的新df?啦啦队可以用
select
删除country
列吗<代码>%>%选择(-Country)?
sample speed time
1 10
3 1
4 500
library(dplyr)
df %>% filter(speed <= 10 | time < 100 | time > 400)
# sample speed time country
#1 1 10 100 UK
#2 3 1 300 USA
#3 4 35 500 UK
df %>%
filter(speed <= 10 | time < 100 | time > 400) %>%
mutate(speed = replace(speed, speed > 10, NA),
time = replace(time, time > 100 | time > 400, NA))
# sample speed time country
#1 1 10 100 UK
#2 3 1 NA USA
#3 4 NA NA UK