R проверка выбросов в нескольких переменных - PullRequest
0 голосов
/ 13 июля 2020

Мне нужно проверить свои данные на наличие выбросов, а у меня 67 различных переменных. Так что я не хочу делать это вручную. Это мой код для проверки вручную (мне нужно проверить три фактора - voiceID, пол и VP). Но я не знаю, как мне изменить его на al oop, который выполняет итерацию по столбцам.

features %>%
  group_by(voiceID, gender, VP) %>%
  identify_outliers(meanF0)

Все значения - числа. Выходные данные должны сказать мне, какие строки для каких факторов являются выбросами. Спасибо за помощь

1 Ответ

0 голосов
/ 13 июля 2020

Результатом identify_outliers является tibble с несколькими столбцами, и он может принимать одну переменную за раз. Имя переменной может быть заключено в кавычки или без кавычек. В этом случае мы можем group_split данные по группирующим переменным, затем l oop по интересующим столбцам и применить identify_outliers

library(dplyr)
library(purrr)
library(rstatix)
nm1 <- c("score", "score2")
 demo.data %>%
     group_split(gender) %>%
        map(~  map(nm1, function(x) .x %>% 
                identify_outliers(x))) 

Если мы хотим подсчитать выбросы,

features %>%
   group_by(voiceID, gender, VP)  %>%
   summarise(across(everything(), ~ length(boxplot(., plot = FALSE)$out)))
...