【问题标题】:Executing SQL with sqldf using reactive values in Shiny在 Shiny 中使用反应值使用 sqldf 执行 SQL
【发布时间】:2020-08-22 16:02:04
【问题描述】:

我有一个应用程序,其中一些数据存储为反应值,并且可以使用 sqldf() 执行 SQL 查询

用户是否可以加入 df_one 和 df_two 并将其存储为 df_tot?让 sqldf 查看反应值内部的好方法是什么?

library(shiny)
library(sqldf)

ui <- fluidPage(

  pickerInput('available_data_sets', 'Data sets', choices = c('df_one', 'df_two')),
  textInput('store_table_as', 'Store table as', value = ''),
  textInput('sql_query', 'sql_query'),
  actionButton('execute', 'execute')

)

server <- function(input, output, session) {

  available_data_sets <- reactiveValues()

  df_one <- data.frame(a = c(1, 2, 3), b = c('a', 'b', 'c'))
  df_two <- data.frame(x = c(4, 5, 6), b = c('a', 'b', 'c'))


  available_data_sets[['df_one']] <- df_one
  available_data_sets[['df_two']] <- df_two

  observeEvent(input$execute, {

    req(input$sql_query, input$store_table_as)

    available_data_sets[[input$store_table_as]] <- sqldf(input$sql_query)

    new_names <- names(available_data_sets)

    updatePickerInput(session, 'available_data_sets', choices = new_names)


  })


}

shinyApp(ui, server)

【问题讨论】:

  • 你试过join_leftdplyr包吗?

标签: r shiny sqldf


【解决方案1】:
sqldf(input$sql_query, envir = list2env(available_data_sets))

【讨论】:

    猜你喜欢
    • 2023-01-10
    • 1970-01-01
    • 2023-02-25
    • 2012-02-10
    • 2021-11-19
    • 2018-11-01
    • 2016-02-13
    • 2015-07-27
    • 1970-01-01
    相关资源
    最近更新 更多