我想讓用戶選擇顯示哪種ggplot圖形(geom_plot(),geom_boxplot()等),但我不知道如何傳遞「函數」而不是函數的字符串。在R中傳入ggplot2函數作爲輸入Shiny
我的一個輸入是這樣的:
selectInput("graph_type", "Select graph type",
c("geom_point()", "geom_boxplot()"), selected = NULL, multiple = FALSE,
selectize = TRUE, width = NULL, size = NULL)
和輸出是這樣的:
output$p1 = renderPlot({
ggplot(raw, aes(x=raw[,input$x1], y=raw[,input$y1])) +input$graph_type
而且我的錯誤看起來像這樣:
Error: Don't know how to add input$graph_type to a plot
燦有人幫助我?謝謝!
P.S.假設代碼中的其他所有內容都起作用如果需要可以提供整個腳本。
我假定'$輸入graph_type'被作爲一個字符所以' 「geom_point()」'通過。既然是這樣,'ggplot'不知道如何添加它。我會嘗試'as.name(輸入$ graph_type)' – roarkz
@WestleyDang如果我的解決方案解決了您的問題,您可以接受它 – PoGibas