【问题标题】:selectInput() not passing anything to selected_data() (R shiny)selectInput() 没有向 selected_data() 传递任何东西(R 闪亮)
【发布时间】:2016-06-27 05:55:14
【问题描述】:

我正在开发 R 闪亮的应用程序。请注意,我正在尝试从我的 mysql 服务器加载数据。所以我使用了 RMySQL 包的帮助。

在我的 ui.R 文件中,我有这个:

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

我有加载到“pitcher_names”上的 csv 文件,它给出了名称列表。在下拉菜单中,我有可供选择的名称列表。

在我的 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() 中选择的投手的名称没有被传递到 server.R 中的 dbSendQuery 函数。我可以做些什么来完成这项工作?

【问题讨论】:

    标签: r shiny rmysql


    【解决方案1】:

    我认为你有一个错字:

    filter(pitcher_name %in% input$pitcher_name)
    

    不应该是:

    filter(pitcher_name %in% input$pitchername)
    

    实际上,我没有看到过滤结果查询的意义,因为您已经将条件放入查询中。

    【讨论】:

    • 没什么区别
    • 这纠正了我遇到的一些问题。谢谢
    猜你喜欢
    • 2021-03-07
    • 1970-01-01
    • 2014-02-23
    • 2015-05-07
    • 1970-01-01
    • 2016-07-28
    • 2016-08-12
    • 1970-01-01
    相关资源
    最近更新 更多