capas dinámicas de ggplot en brillante con nearPoints ()

Estoy familiarizado con los conceptos básicos de brillante pero luchando con algo aquí. Me gustaría poder agregar una capa ggplot cuando se hace clic en un punto para resaltar ese punto. Sé que esto es posible con ggvis y hay un buen ejemplo en la galería, pero me gustaría poder usarnearPoints() para capturar el clic como entrada ui.

He intentado algo (ver más abajo) que funciona aparte de que la capa ggplot aparece y luego desaparece. He intentado todo tipo de ediciones para esto conreactive(), eventReactive() y así.

Cualquier ayuda es muy apreciada...

library(shiny)
library(ggplot2)

shinyApp(
  ui = shinyUI(
        plotOutput("plot", click = "clicked")
    ),

  server = shinyServer(function(input, output) {
    output$plot <- renderPlot({
      ggplot(mtcars, aes(x = mpg, y = wt)) +
        geom_point() +
        geom_point(data = nearPoints(mtcars, input$clicked), colour = "red", size = 5)
    })
  })
)

Creo que entiendo conceptualmente por qué esto no funciona. La trama depende deinput$clicked lo que significa que cuandoinput$clicked cambia la representación de la trama pero esto a su vez restableceinput$clicked. Un poco de una situación de captura 22.

Respuestas a la pregunta(1)

Su respuesta a la pregunta