首页 > 解决方案 > 从 excel 中获取数据将它们作为下拉菜单放在闪亮的应用程序中

问题描述

我有一个excel_screenshot 之类的 excel 表。我希望将行名(Ram、Shyam 等)作为我闪亮的应用程序中的选择输入,并使用列名(A、B、C、D、E)作为他们的选择。此外,当用户为任何变量名称选择任何值时,我想在后端为该变量设置相应的值。

例如,我有一个名为“Ram”的下拉菜单,如果用户在我想要的 Ram 中选择“B”-Ram <- 2.4

标签: rshiny

解决方案


由于您没有提供任何代码来处理或解释您的具体情况,我采取了一些自由和假设。

这是代码,当您更改下拉列表时,您将看到 Print 语句相应地更改。

ui <- fluidPage(

  # App title ----
  titlePanel("Hello Shiny!"),

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

      selectInput("Input_Ram", "Ram:",
                  c("A","B","C","D")
      ),
      selectInput("Input_Shyam", "Shyam:",
                  c("A","B","C","D")
      ),
      selectInput("Input_GhanShyam", "GhanShyam:",
                  c("A","B","C","D")
      ),
      selectInput("Input_MastRam", "MastRam:",
                  c("A","B","C","D")
      ),

      # Output: selections ----
      verbatimTextOutput("values")
  )
)

server <- function(input, output) {

  data <- data.frame(RowNames = c("Ram","Shyam","GhanShyam","MastRam"), A = c(1.3,3.2,1,8.4), B= c(2.4,3,0.6,4.5), C = c(3,1,2.3,1.7), D = c(1.6,3.4,5,1.9), stringsAsFactors = FALSE)

  Ram_Dat <- reactive({
    data[[input$Input_Ram]][1]
    })

  Shyam_Dat <- reactive({
    data[[input$Input_Shyam]][1]
    })

  GhanShyam_Dat <- reactive({
    data[[input$Input_GhanShyam]][1]
    })

  MastRam_Dat <- reactive({
    data[[input$Input_MastRam]][1]
    })

  output$values <- renderPrint({
    paste0("Ram: ", Ram_Dat(), " Shyam: ", Shyam_Dat(), " GhanShyam: ", GhanShyam_Dat(), " MastRam: ", MastRam_Dat())

  })


}

shinyApp(ui, server)

推荐阅读