2016-03-11 2 views
-1

Я работаю над R блестящим приложением. Обратите внимание, что я пытаюсь загрузить данные с моего сервера mysql. Поэтому я использовал помощь пакета RMySQL.selectInput() ничего не передаёт selected_data() (R shiny)

В моем файле ui.R, у меня есть это:

selectInput("pitchername","Pitcher Name:", choices = unique(pitcher_names$pitcher_name), selected = "Chan Ho Park"), 

У меня есть CSV-файл, который был загружен на «pitcher_names», и это дает список имен. В выпадающем меню у меня есть список имен на выбор.

В моем файле server.R, у меня есть это:

selected_data <- reactive({ 

query <- dbSendQuery(conn = con, statement = paste('SELECT * FROM pitch_velo WHERE pitcher_name = ', "\"",input$pitchername,"\"",';',sep='')) 
pitch_data <- dbFetch(query,n=-1) 

minyear <- input$year[1] 
maxyear <- input$year[2] 

velo <- pitch_data %>% group_by(pitcher_name, pitch_type, Year) %>% summarise(velocity = mean(start_speed)) %>% arrange(velocity) %>% dplyr::filter(pitcher_name %in% input$pitcher_name) %>% dplyr::arrange(pitcher_name) %>% dplyr::filter(Year >= minyear) %>% dplyr::filter(Year <= maxyear) %>% dplyr::filter(pitch_type %in% input$pitch_type) 
print(velo) 

})

После работы над этим в течение половины дня, я понял, что единственная проблема в том, что имя кувшин выбран из selectInput () не передается в функцию dbSendQuery в server.R. Что я могу сделать, чтобы сделать эту работу?

ответ

0

Я думаю, что у вас есть опечатка в:

filter(pitcher_name %in% input$pitcher_name) 

не должна быть:

filter(pitcher_name %in% input$pitchername) 

И на самом деле, я не вижу смысла отфильтровать результат запроса, поскольку вы уже поместите условие в запрос.

+0

Без изменений –

+0

plz see my edit – HubertL

+0

Это исправило некоторые проблемы, которые у меня были. благодаря –

Смежные вопросы