Динамическая панель инструментов для сводной статистики и графиков для выпадающего списка выбранных / всех переменных DF в R - PullRequest
0 голосов
/ 11 июля 2019

Я новичок в R и хочу создать панель инструментов в R, которая отображает все данные и сводную статистику, гистограммы и диаграммы для всех переменных или выбранных переменных из данных, импортированных из расположения / диска или из БД, которая имееткнопка обзора или кнопка подключения на отображаемой странице.Мне нужен код R для подключения к любой БД, я знаю, как подключиться к серверу MySQL через R, но он мне нужен для подключения к любой базе данных.Любые ресурсы, связанные с блестящими / динамическими страницами в R, очень помогли бы. Вот код, который я пробовал, который имеет эти 2 ошибки

library(shiny)
library(ggplot2)
library(dplyr)
library(tidyverse)
library(psych)


## Only run examples in interactive R sessions
if (interactive()) {

  ui <- fluidPage(

    # App title ----
    titlePanel("Dashboard For Data Analysis"),

    # Sidebar layout with input and output definitions ----
    sidebarLayout(

      # Sidebar panel for inputs ----
      sidebarPanel(

        # Input: Select a file ----
        fileInput("file1", "Choose CSV File",
                  multiple = TRUE,
                  accept = c("text/csv",
                             "text/comma-separated-values,text/plain",
                             ".csv")),
        # Horizontal line ----
        tags$hr(),

        # Input: Select number of rows to display ----
        radioButtons("disp", "Display",
                     choices = c(Head = "head",
                                 All = "all"),
                     selected = "head"),

        # Horizontal line ----
        tags$hr()
        # Select Variable from the selected Dataset 

        selectInput("vari", "Variable", 
                    choices=colnames(df),

                    hr(),
                    helpText("")  


        ),  

        ########################## 

        # Main panel for displaying outputs ----
        mainPanel(

          # Output: Data file ----
          h1("Overview of the Data")
          DT::dataTableOutput('contents'),
          h2("Summary Statistics")
          verbatimTextOutput("summary"),
          plotOutput('plot')
        )  
      )
    )

    server <- function(input, output, session){
      myData <- reactive({
        inFile <- input$file1
        if (is.null(inFile)) return(NULL)
        data123 <- read.csv(inFile$datapath, header = TRUE)
      })

      output$contents <- DT::renderDataTable({
        DT::datatable(myData())       
      })
      output$select <- renderUI({
        df <- myData()
        selectInput("variable", "Select Variables:",names(df))

      })

      output$summary <- renderPrint({
        df <- myData()
        df <- df[,input$variable]
        summary(df) 
      })

      output$summary <- renderPrint({
        df <- myData()
        df <- df[,input$variable]
        describe(df) 
      })

      output$plot <- renderPlot({
        df <- myData()
        df <- df[,input$variable]
        boxplot(df,col="sky blue",border="purple",main= 'Boxplot of 'input$variable)
      })
    }

    shinyApp(ui,server)
}
...