GGally :: ggpairs ведет себя по-разному для разных переменных при работе с NA - PullRequest
0 голосов
/ 06 сентября 2018

У меня есть набор данных, который я загружаю с помощью readr, в котором 2341 строка, 401 столбец и несколько NA s добавлено. Я пытаюсь создать матрицы рассеяния с поднабором непрерывных переменных.

Вот glimpse некоторых переменных, которые я использую:

Observations: 2,341
Variables: 3
$ Height <dbl> 175.2000, 175.0000, 174.7000, 174.0000, 173.0000, ...
$ gender <fct> Male, Male, Male, Male, Male, Male, Male, Male, Male, ...
$ lb_pp  <dbl> 55.00000, 50.00000, 40.00000, 56.00000,  60.00000, ...

Переменные Height, lb_pp и gender имеют 98, 150 и 0 NA соответственно.

Большинство переменных хорошо себя ведут и отображаются на графике как нормальные. ggpairs выдает предупреждение, когда я использую переменную с 150 NA (предупреждающее сообщение ниже), но я получаю график без проблем, как показано ниже:

Warning message:
“Removed 150 rows containing non-finite values (stat_boxplot).”`stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
Warning message:
“Removed 150 rows containing non-finite values (stat_bin).”Warning message:
“Removed 150 rows containing non-finite values (stat_density).”

Example image using variable with NA that produces expected output

Но когда я использую другую переменную height, она дросселирует большое время с другим предупреждающим сообщением и испорченным графиком:

Warning message:
“Removed 98 rows containing non-finite values (stat_count).
”Warning message:
“Computation failed in `stat_count()`:
arguments imply differing number of rows: 392, 400, 1
”Warning message:
“Computation failed in `stat_count()`:
arguments imply differing number of rows: 542, 574, 1
”Warning message:
“Removed 98 rows containing non-finite values (stat_count).”Warning message:
“Computation failed in `stat_count()`:
arguments imply differing number of rows: 392, 400, 1”

Example image using variable with NA that produces unexpected output

Я могу обойти проблему, отфильтровывая строки, в которых есть NA для проблемных переменных, но почему я должен делать это для некоторых переменных, а не для других? Обе переменные возвращают TRUE, когда я спрашиваю is.numeric. Какая разница?

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 11 марта 2019

Отвечая на мой вопрос здесь, получается, что моя противная переменная height, которая вызвала ошибку, была не атомным вектором, а скорее n x 1 матрицей. Досадно, это то, что встроенная функция R scale молча вернула, в моем случае. Недавнее изменение в функции glimpse в Tidyverse теперь показывает размеры матрицы в выводе, а не выборку значений, как я и обнаружил ошибку.

...