Я пытаюсь создать матрицу рассеянного рассеяния с графиками плотности в диагоналях (используя предпочтительно ggplot). Документация ggpairs
в пакете GGally гласит:GGally - неожиданное поведение с ggpairs (..., diag = list (continu = 'density'))
диаг список, который может содержать только переменные «непрерывный» и «дискретная». Каждый элемент списка 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 сбиты.
@rcs - Re: ваши изменения. Фрагмент на diag из ggpairs был вырезан и вставлен непосредственно из документации (где реализация написана неправильно). Ваше редактирование показывает, что это не так. Кстати: у вас есть ответ на вопрос? – jlhoward