我希望用户选择要显示的ggplot图形(geom_plot(),geom_boxplot()等),但我不知道如何传递"函数"而不是函数的字符串。
我的一个输入看起来像这样:
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
我得到的错误看起来像这样:
错误:不知道如何将输入$ graph_type添加到绘图中
有人可以帮帮我吗?谢谢!
P.S。假设代码中的其他所有内容都有效。如果需要,可以提供整个脚本。
答案 0 :(得分:0)
使用get
按对象名称返回值。
ggplot(raw, aes(x=raw[,input$x1], y=raw[,input$y1])) +
get(input$graph_type)()