É possível agrupar por duas colunas? Portanto, o produto vetorial é desenhado por geom_point()e geom_smooth()?
Por exemplo:
frame <- data.frame(
series <- rep(c('a', 'b'), 6),
sample <- rep(c('glass','water', 'metal'), 4),
data <- c(1:12))
ggplot(frame, aes()) # ...
De modo que os pontos 6e 12compartilham um grupo, mas não com 3.

data.framepara o propósito de um enredo. Oplotdeve plotar seu df e não o oposto.