闪亮 - 根据用户输入更改绘图中的变量

时间:2015-06-02 13:06:15

标签: r shiny

我有一个如下所示的数据集:

Win    Gender    Score (1-4)    Weight     SHE
1      F         2              140        Y
0      M         3              155        Y
1      M         4              134        N

我正在创建一个Shiny App,它将为属于不同分数(4组)的行创建并排条形图。我希望用户能够选择将在x轴上的变量(Win,Sex of SHE),并更新图表以反映每个组中该变量的计数。

我在server.R中尝试了以下代码:

shinyServer(function(input, output){
     output$plotOne <- renderPlot({
ggplot(data=GroupOne, aes(x=input$var))+geom_bar(stat='bin')
})
})

'var'是我为用户根据ui.R中的单选按钮输入选择的变量指定的名称。我得到的错误信息是找不到输入。

我也尝试了上面的代码,但是用

histogram(~input$var, data=GroupOne). 

这导致负长度矢量和其他事物的错误。

1 个答案:

答案 0 :(得分:0)

尝试使用反应函数将输入绑定到数据框中:

server <- function(input, output) {

  data <- reactive({
if ( "Win" %in% input$var) return(your_data_frame$Win)
if ( "Gender" %in% input$var) return(your_data_frame$Gender)
if ( "Score" %in% input$var) return(your_data_frame$Score)
if ( "Weight" %in% input$var) return(your_data_frame$Weight)
if ( "SHE" %in% input$var) return(your_data_frame$SHE)
  })

  output$plotOne <- renderPlot({
ggplot(data=GroupOne, aes(x=data()))+geom_bar(stat='bin')
  })
}