Фильтровать фрейм данных - PullRequest
0 голосов
/ 06 июня 2018

У меня есть большой фрейм данных с именем df (500 тыс. Строк и 50 столбцов).Мне нужно отфильтровать этот фрейм данных на основе двух условий одновременно (то есть: мне нужно удалить строки, значения которых превышают 0,6 и значения меньше 0,1 для всех столбцов одновременно)

Ответы [ 2 ]

0 голосов
/ 06 июня 2018

Если нам нужно filter для всех столбцов, используйте filter_all с all_vars

library(dplyr)
df1 %>%
      filter_all(all_vars(!(. > 0.6 & . <  0.1)))
0 голосов
/ 06 июня 2018

Не уверен, что я понял, что вы имели в виду "для всех столбцов одновременно", но если вы имели в виду удалить строки, значения которых в любом столбце больше 0,6 или меньше 0,1, то решение

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

filtered_df <- df[keep,]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...