#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. Спасибо, я об этом не подумал!