我想让用户选择显示哪种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