ggplot2 desenha elipses individuais, mas cor por grupo

Eu tenho dados que consistem em vários pontos de dados para vários indivíduos e cada um deles é de um determinado local de estudo. Eu gostaria de plotar todos os pontos, desenhar elipses de 95% para cada indivíduo, mas depois colorir as elipses pelo local do estudo. Infelizmente, parece que quando eu especifico para colorir por site, a elipse é desenhada para o grupo agregado.

Os dados são assim:

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)

Se eu desenhar elipses por indivíduo, posso ver todas as elipses separadamente:

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

mas se eu desenhar pelo grupo, ele cria apenas uma 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')

Como posso desenhar todas as 9 elipses, mas colori-las por grupo? Obrigado pela ajuda!

questionAnswers(1)

yourAnswerToTheQuestion