0
我剛剛使用Shiny,並且在將反應值添加到現有數據框時遇到了一些問題。將點擊事件的反應值添加到現有數據框並更新圖
我想繪製散點圖與迴歸線使用一些已有的數據,並用用戶點擊進行更新。我找到了一個有用的例子,但我無法弄清楚如何在數據框中存儲反應值以更新迴歸線。
這是我試過的。謝謝。
library(shiny)
ui <- basicPage(
plotOutput("plot1", click = "plot_click"),
verbatimTextOutput("info"),
actionButton("updateplot", "Update Plot:"),
actionButton("refreshlinie", "Rlinie"),
)
server <- function(input, output) {
var1 <- c(3, 10, 15, 3, 4, 7, 1, 12, 8, 18, 20, 4, 4, 5, 10)
var2 <- c(4, 10, 12, 17, 15, 20, 14, 3, 4, 15, 12, 5, 5, 6, 2)
df <- cbind (var1, var2)
val <- reactiveValues(clickx = NULL, clicky = NULL, data = NULL)
observe({
input$plot_click
isolate({
val$clickx = c(val$clickx, input$plot_click$x)
val$clicky = c(val$clicky, input$plot_click$y)
})
# isolate({
# val$data = rbind(df, c(val$clickx, val$clicky))
#})
}) #adding clicks to list
output$plot1 <- renderPlot({
plot(val$data[,1], val$data[,2])
input$updateplot
isolate({
points(val$clickx, val$clicky)
})
if(input$refreshlinie)
abline(lm(val$data[,1]~ val$data[,2]))
})
output$info <- renderText({
paste0("x = ", val$clickx, ", y = ",val$clicky, "\n")
})
}
shinyApp(ui, server)
謝謝。它完美的工作,我終於明白了代碼。不幸的是,我沒有足夠的經驗來實現這個項目。我發佈了關於這個應用程序的另一個問題:[鏈接](http://stackoverflow.com/questions/39832436/update-data-frame-of-click-data-with-user-input)。也許你可以幫助我解決這個我不知道的最後一件事。 –