Воссоздать гистограмму ldahist () в ggplot2? - PullRequest
0 голосов
/ 21 февраля 2019

Я пытаюсь воссоздать гистограмму, которая возвращается при вызове функции plot (LDA) из MASS в ggplot:

ld1<-lda(Species ~., iris)

plot(ld1, type = "histogram", dimen = 1)

enter image description here

Я думаю, что я взломал ось х, выполнив следующее:

iris.scaled<- cbind(scale(as.matrix(iris[,-5]),scale=FALSE) %*% 
irisLda$scaling,iris[,5,drop=FALSE])

Когда я строю это, я получаю это:

ggplot() + geom_histogram(aes(x=LD1),data=iris.scaled)

Однако я все еще не уверен, какчтобы получить ось Y.В настоящее время это число, но я предполагаю, что мне нужно преобразовать его в процентное представление с помощью bin или что-то в этом роде.Может кто-нибудь сказать мне, что мне нужно извлечь из объекта lda и как я могу использовать его в вызове ggplot2, пожалуйста?

enter image description here

1 Ответ

0 голосов
/ 21 февраля 2019

Основная корректировка была необходима для y-эстетики.Изменение значения по умолчанию «count» на «density».

Также я определил количество бинов, чтобы приблизить то, что предоставлял plot() (~ 20), geom_histogram() по умолчанию равняется 30. Последний шаг - огранкаSpecies.

ggplot() +
  geom_histogram(aes(x = LD1, y = stat(density)), bins = 20, data = iris.scaled) +
  facet_grid(Species ~ .)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...