Como acesso o quadro de dados que foi passado para ggplot ()?

Eu quero definir a stringN=xxx como o título da minha figura, ondexxx é o número de observações no quadro de dados que passo comodata argumento paraggplot(). No meu código atual, passo explicitamente esse quadro de dados uma segunda vez como argumento parasprintf() que eu uso dentro delabs():

ggplot(mtcars, aes(mpg, hp)) + 
    labs(title=sprintf("N=%i", nrow(mtcars))) + 
    geom_point()

Isso produz o título desejado, mas não funciona com tarefas mais complexas: eu uso umdplyr pipe para construir o quadro de dados que está sendo plotado e, como esse é um processo demorado, eu não gostaria de repetir o pipe uma segunda vez para obter o número de linhas, como no exemplo.

Então, como faço para acessar o quadro de dados que foi passado como argumento paraggplot() de dentro das especificações de argumento das funções usadas para modificar o gráfico?

questionAnswers(2)

yourAnswerToTheQuestion