2015-06-02 4 views
1

У меня есть набор данных, который выглядит следующим образом:Блестящие - Изменение переменных на участок на основе пользовательского ввода

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

Я создаю Блестящую приложение, которое будет создавать бок гистограмм боковых для строк, относятся к разным оценкам (4 группы). Я хочу, чтобы пользователь мог выбрать переменную, которая будет находиться на оси x (либо Win, Gender of SHE), так и обновлять диаграммы, чтобы отражать подсчеты этой переменной в каждой группе.

Я попытался следующий код в server.R:

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

«вар» это имя, которое я указал для переменной пользователь выбирает на основе ввода радиокнопки в ui.R. Сообщение об ошибке, которое я получаю, заключается в том, что вход не найден.

Я также попробовал код выше, но с

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

Это привело к ошибкам о негативных векторах длины и других вещах.

+0

является «GroupOne» установлено, что вышеуказанные данные или только подмножество? –

+0

Это подмножество данных, где Score == 1. – Megan

+0

, который пуст для данного конкретного примера. неужели проблема сохраняется для счета == 2? –

ответ

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') 
    }) 
} 
Смежные вопросы