R блестящее приложение, чтобы принять ручные, а также автоматические выпадающие - PullRequest
0 голосов
/ 06 мая 2019

Я создал следующий кадр данных в R

  ###IMPORT LIBRARIES
  library(shiny)
  library(shinyjs)
  library(shinydashboard)
  library(shinydashboardPlus)
  library(readxl)
  library(readr)
  library(WriteXLS)



   DF1<-data.frame("SlNo"=c(1:5), "X"=c(1:5), "Y"=c(1:5))
   ### WRITE TO EXCEL
   write.xlsx(x = DF1, file = "DF1.xlsx")

Далее я создал блестящее приложение, как показано ниже, для чтения из DF1

   ui <- dashboardPage(
   dashboardHeader(title = "Tool", titleWidth = "300"),
   dashboardSidebar(width = '300', fluidRow(
   div(fileInput(inputId = "file", label = "Load Excel", multiple = T, 
   accept = c(".xlsx", ".csv", '.xls'))),
    div(htmlOutput(outputId =  "Mean1")

      ))),
      dashboardBody(  plotlyOutput(outputId = "Plot1") 
      ))



     server <- function(input, output) { 

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

   datasetInput <- reactive({

    infile<- input$file
    if (is.null(infile))
     return(NULL)

    ########CHANGE DATA TYPE HERE- EXCEL/CSV

    #data <- read.csv(file=infile$datapath)
    DF1<-read_excel(infile$datapath)

      list1<-mean(DF1$X)
     return(list1)
      })

    ####### WE NOW DISPLAY THE VALUES IN THE MENU BOXES

    output$Mean1<-renderUI({
    list1<-datasetInput()
    prod_2 <- list1
   selectInput(inputId = 'Mean1', label = 'Mean1', choices = prod_2, multiple 
   = TRUE, selectize = TRUE, selected = NULL)

      })

    Mean1 <- reactive({
    if(is.null(input$Mean1) || length(input$Mean1)==0)
    return()
    input$Mean1
     })
     }

      ###############RUN APP
    shinyApp(ui, server)

Приложение принимает среднее значение столбца X изDF1 и делает то же самое в раскрывающемся списке приложения в качестве входа.Можно ли изменить приложение так, чтобы оно позволяло как вручную вводить раскрывающийся список, так и отображаемое значение.В настоящее время он принимает только выпадающее значение, сгенерированное автоматически

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...