Фильтрация строк по числовым значениям определенного количества столбцов в dataframe (R)

#r #dataframe #tidyverse

#r #dataframe #tidyverse

Вопрос:

У меня есть фрейм данных, который называется df :

 df <- data.frame(
  gene = c("ABC","DEF","GHI","JKL"),
  data_set_a= c(0.15,0.00001,0.5,0.0002),
  data_set_b= c(0.68,0.21,0.35,0.2),
  data_set_c= c(0.1,0.00001,0.52,0.00007),
  data_set_d= c(0.33,0.00001,0.5,0.06),
  stringsAsFactors=FALSE
)
 

Я выбрал строки, в которых все числовые значения меньше 0,001:

 library(tidyverse)
common <- df %>% filter_if(is.numeric, all_vars(. < 0.001))
 

Это возвращает пустой фрейм данных, поскольку нет строк, в которых все числовые значения меньше 0,001.
Есть ли способ изменить фильтр, чтобы выбрать n числовых значений вместо all?

Комментарии:

1. Много способов. Например rowSums(df[-1]<0.001) , указывается, сколько значений в каждой строке меньше 0,001. Вы можете фильтровать на основе этого.

2. Спасибо, я об этом не подумал!