过滤数据框

时间:2018-06-06 18:54:41

标签: r

我有一个名为df的大数据框(500k行和50列)。我需要同时根据两个条件过滤这个数据框(即:我需要删除值大于0.6且所有列的值同时小于0.1的行)

2 个答案:

答案 0 :(得分:0)

我不确定我是否理解“同时为所有列提供”的含义,但如果您的意思是删除任何列中值大于0.6或小于0.1的行,那么解决方案

keep <- apply(df,1, function(x){
  all(x < 0.6 & x> 0.1)
})

filtered_df <- df[keep,]

答案 1 :(得分:0)

如果我们需要filter所有列,请filter_all使用all_vars

library(dplyr)
df1 %>%
      filter_all(all_vars(!(. > 0.6 & . <  0.1)))