ggplot2 dibuja elipses individuales pero colorea por grupo

Tengo datos que consisten en varios puntos de datos para varias personas, y cada una de estas personas proviene de un sitio de estudio en particular. Me gustaría trazar todos los puntos, dibujar elipses del 95% para cada individuo, pero luego colorear las elipses por sitio de estudio. Desafortunadamente, parece que cuando especifico colorear por sitio, la elipse se dibuja para el grupo agregado.

Los datos se ven así:

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)

Si dibujo elipses por persona, puedo ver todas las elipses por separado:

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")

pero si dibujo por grupo, solo se forma una elipse por grupo:

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')

¿Cómo puedo dibujar las 9 elipses pero colorearlas por grupo? ¡Gracias por la ayuda!

Respuestas a la pregunta(1)

Su respuesta a la pregunta