Использовать только числовые c столбцы из DataFrame в функции - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть фрейм данных, который состоит из нескольких числовых c и некоторых нечисловых c столбцов

Я попытался передать только столбцы числовых c в тест Шапиро Уилка, чтобы увидеть, какой статистический тест выполнять на них, но я не могу заставить его работать

CRF %>% select_if(is.numeric) %>% shapiro.test()

Возвращает

Error in shapiro.test(.) : is.numeric(x) is not TRUE

Я думаю, это потому, что в конце я все еще передаю список. Но когда я пытаюсь деконструировать его с помощью unlist или просто запустить lapply, он все равно не сработает.

Моя конечная цель - вектор, содержащий все имена всех значений, которые являются ненормальными в соответствии с Тест Шапиро Уилка, чтобы я мог потом передать его в функцию, выполняющую статистический анализ.

Есть идеи?

Спасибо

1 Ответ

1 голос
/ 03 апреля 2020

Хотите применить shapiro.test к каждому столбцу отдельно? Вы можете попробовать map_if

purrr::map_if(CRF, is.numeric, shapiro.test)

или в базе R, используя lapply:

lapply(CRF[sapply(CRF, is.numeric)], shapiro.test)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...