ggplot2 Zeichne einzelne Ellipsen, aber färbe sie nach Gruppen

Ich habe Daten, die aus mehreren Datenpunkten für eine Reihe von Personen bestehen, und jede dieser Personen stammt von einem bestimmten Studienort. Ich möchte alle Punkte zeichnen, 95% Ellipsen für jede Person zeichnen, aber dann die Ellipsen nach Studienort einfärben. Leider scheint es, dass, wenn ich die Farbe nach Site spezifiziere, die Ellipse für die aggregierte Gruppe gezeichnet wird.

Die Daten sehen so aus:

dat1 <- data.frame(X=rnorm(21),Y=rnorm(21),indiv_id=rep(c(1,2,3),7),group_id=rep(1,21))
dat2 <- data.frame(X=rnorm(21,5),Y=rnorm(21,5),indiv_id=rep(c(4,5,6),7),group_id=rep(2,21))
dat3 <- data.frame(X=rnorm(21,10),Y=rnorm(21,10),indiv_id=rep(c(7,8,9),7),group_id=rep(3,21))
ggdat <- rbind(dat1,dat2,dat3)
ggdat$indiv_id <- as.factor(ggdat$indiv_id)
ggdat$group_id <- as.factor(ggdat$group_id)

Wenn ich Ellipsen einzeln zeichne, kann ich alle Ellipsen separat sehen:

ggplot(ggdat) +
  geom_point(aes(x=X, y=Y,color=indiv_id),size=1) + # 
  stat_ellipse(aes(x=X, y=Y,color=indiv_id),type = "norm")

Aber wenn ich von der Gruppe zeichne, ergibt das nur eine Ellipse pro Gruppe:

ggplot(ggdat) +
  geom_point(aes(x=X, y=Y,color=indiv_id),size=1) + # 
  stat_ellipse(aes(x=X, y=Y,color=group_id),type = "norm") + #, linetype = 2
  theme(legend.position='none')

Wie kann ich alle 9 Ellipsen zeichnen, aber nach Gruppen einfärben? Danke für die Hilfe

Antworten auf die Frage(2)

Ihre Antwort auf die Frage