美文网首页RMYSQL
RShiny建立与MySQL连接的interface

RShiny建立与MySQL连接的interface

作者: Pingouin | 来源:发表于2020-05-12 08:05 被阅读0次

    RShiny介绍

    是一款可以搭建简洁界面的工具,私认为比Python建立简单的Interface更加友好。前提是有本地的数据库,主要搭建的两个部分:UI 和 Server.


    搭建成功的界面

    1.UI设计

    library(shiny) # 加载包 需先下载
    library(ggplot2)
    library(RMySQL)
    ######### 此处正式开始UI设计
    ui =fluidPage(
    # 界面主要分为三个Panel: tiltlepanel/sidebarpanel/mainpanel
      # 1.标题名字
      titlePanel("Shiny App"), 
     # 2.左边界面,即输入界面
      sidebarPanel(selectInput("site",  # 选项形式的输入
                               label = "Database",
                               choices = c("diabetes","looks like","have options"),
                               selected = "disbetes"),
                    numericInput("id","user id",0), #数字形式的输入
                    textInput("begindate", "write start date: ",''), # 文字形式的输入
                    h5("e.g.'1991-05-26'"), # 显示文字,作为提示,可以删去
                    textInput("enddate", "write end date:",''),
                    submitButton("Go!")), # submit
     # 3.主界面,即右边的输出界面 
      mainPanel(h4("The activity record is :"),
                tableOutput("mydata"))
    )
    

    2. Server

    server = (function(input, output) {       #function必须用 用括号括起来
    
    ## 1.input部分
    
      test1 <- reactive({  # 这个变量名在下面的output部分要用
    
        # 1.1 连接数据库
        db_con <- (dbConnect(RMySQL::MySQL(), #填自己的数据库信息
                             dbname="diabetes",  
                             user="root", 
                             host="127.0.0.1",  
                             password="yourpassword",
                             port=3306))
    
        # 1.2 Construct the fetching query 这里不知道怎么翻译了
        mydata <- dbGetQuery(db_con,paste( 
          #此处填要查的sql语句,注意引用了输入的变量,即在UI设计时输入的值
          "SELECT p.time, a.code_name FROM patient p
                      join activity a
                      on a.code = p.code
                      where id = '",input$id,"' and time between '",input$begindate,"' and '",input$enddate,"'")) # !注意此处的格式 
           # tips 新建脚本定义好变量,测试查询sql语句是否能用
           # 引用格式是 ->     ”,要引用的变量,“
    
          })
      
    ## 2.output部分
      output$mydata <- renderTable({   #显示表格,还可以改成rendertext等
        test1() #input变量名
      })  
    })
    
    runApp(list(ui = ui, server = server))
    
    

    相关文章

      网友评论

        本文标题:RShiny建立与MySQL连接的interface

        本文链接:https://www.haomeiwen.com/subject/rydvnhtx.html