Я пытаюсь создать матрицу диаграммы рассеяния с диаграммами плотности в диагоналях (предпочтительно, используя ggplot). Документация для ggpairs
в пакете GGally гласит:
diag - это список, который может содержать только переменные "непрерывный" и "Дискретная". Каждый элемент списка diag представляет собой строку, реализующую следующие параметры: непрерывный = точно один из ( "плотность", "бар", 'Пустым'); discrete = точно один из ( "bar", "blank" ).
который предлагает (??), что это должно быть возможно с помощью diag=list(continuous="density")
.
Но следующий код:
xx <- mtcars[,c(1,3,4,6)] ## extract mpg, disp, hp, and wt from mtcars
library(GGally)
ggpairs(xx,diag=list(continuous="density"))
дает следующее:
Что я делаю неправильно?
NB: попытка сделать то же самое с plotmatrix(xx)
дает следующее:
который терпит неудачу, потому что графики плотности, по-видимому, масштабируются в каждой диагональной фасете, используя диапазон, основанный на полном наборе данных (xx
), а не диапазон, основанный на xx
, подмножеством для соответствующей грани. В результате вторая строка (disp) выглядит хорошо, потому что disp имеет наибольший диапазон, но строки 1 и 4 сжимаются.