Plotando a função ordiellipse do pacote vegan no gráfico NMDS criado em ggplot2

Em vez da função de plotagem normal que estou usandoggplot2 para criar gráficos NMDS. Gostaria de exibir grupos no gráfico NMDS usando a funçãoordiellipse() devegan pacote.

Exemplo de dados:

library(vegan)
library(ggplot2)
data(dune)
# calculate distance for NMDS
sol <- metaMDS(dune)
# Create meta data for grouping
MyMeta = data.frame(
  sites = c(2,13,4,16,6,1,8,5,17,15,10,11,9,18,3,20,14,19,12,7),
  amt = c("hi", "hi", "hi", "md", "lo", "hi", "hi", "lo", "md", "md", "lo", 
          "lo", "hi", "lo", "hi", "md", "md", "lo", "hi", "lo"),
  row.names = "sites")
# plot NMDS using basic plot function and color points by "amt" from MyMeta
plot(sol$points, col = MyMeta$amt)
# draw dispersion ellipses around data points
ordiellipse(sol, MyMeta$amt, display = "sites", kind = "sd", label = T)

# same in ggplot2
NMDS = data.frame(MDS1 = sol$points[,1], MDS2 = sol$points[,2])
ggplot(data = NMDS, aes(MDS1, MDS2)) + 
  geom_point(aes(data = MyMeta, color = MyMeta$amt))

Como posso adicionar o ordiellipse ao gráfico NMDS criado comggplot2?

A resposta de Didzis Elferts abaixo funciona muito bem. Obrigado! No entanto, agora estou interessado em traçar o seguinte ordiellipse para o gráfico NMDS criado comggplot2:

ordiellipse(sol, MyMeta$amt, display = "sites", kind = "se", conf = 0.95, label = T)

Infelizmente, não entendo o suficiente sobre comoveganCovEllipse funciona para poder ajustar o script sozinho.

questionAnswers(1)

yourAnswerToTheQuestion