#r #ggplot2
#r #ggplot2
Вопрос:
Привет, я хотел бы создать PCA с добавлением eclipse. Однако я понял, что когда я пытаюсь указать group в качестве shape, ggplot добавит group в дополнение к тому, что я использовал для eclipse. Вот пример.
res.pca <- prcomp(iris[, -5], scale = TRUE)
iris$group = ifelse ( iris$Sepal.Length > 5, "high", "low")
p = fviz_pca_ind(res.pca, label="none"
, habillage=iris$Species
,addEllipses=TRUE, ellipse.level=0.95)
p geom_point(aes(shape= factor(iris$group ) ) )
Итак, как вы можете видеть, я установил для habillage значение species и попытался нарисовать фигуру с помощью factor group, но по какой-то причине фигура добавляет не только группу, но и виды. В идеале я хочу иметь группу только с формами high и low.
Спасибо!
Ответ №1:
Проблема в том, что fviz_pca_ind()
создает эстетику, которую трудно настроить впоследствии.
Одно из решений состоит в том, чтобы запретить ему создавать точки с эстетикой, используя geom.ind
. Затем вы можете добавить точки обратно. Наконец, вы должны использовать guides()
для отключения некоторых функций легенды.
p = fviz_pca_ind(res.pca, label="none"
, habillage=iris$Species
, addEllipses=TRUE,
geom.ind = c("text"),
ellipse.level=0.95)
p geom_point(aes(shape = factor(iris$group),
color = factor(iris$Species)))
guides(color = FALSE, size = FALSE)