Linked Questions

Popular Questions

Below are my r-shiny codes. the problem seems come from the server part. if I use the dataset name directly, as the line quoted out "#dList <- mtcars_6[mtcars_6$cyl==6,]", then the app works.

But if I want to make it more dynamic, like use input$index to choose to use different datasets, like "dNam <- paste0(...) and dList <- dNam[dNam$cyl==6,], then it won't work.

Could be an obvious fix, but I just start learning R by project-based, had struggled 2 days and couldn't fix it. Really appreciate if anyone could point out what I missed or was wrong.


    #2 data involved, you can consider the mtcars as a summary data, and the mtcars_6 is the 6th 
    #listing data with more details. it's like when you see the summary and want to see the expanded 
    #data listings.

    mtcars_6 <- mtcars

    #here are the UI & Server part for a r-shiny app

    ui <- fluidPage(
    server <- function(input, output) {
        output$table <- DT::renderDataTable(DT::datatable({
          if (input$index != "All") {
           # here are the part I failed, if I use dLsit<- mtcars_6 directly, then gives what I want,  
           # but if use paste0() to involve the input$index to generate a dataset name, then it 
           # vvv--- failed.---vvv
           #dList <- mtcars_6[mtcars_6$cyl==6,] 
           dNam <- paste0("mtcars_",input$index)
           dList <- dNam[dNam$cyl==6,]
    shinyApp(ui = ui, server = server)

I tried:

dList <- sprintf("mtcars_",input$index),
dList <- get(paste0("mtcars_",input$index),inherits=F),

Expecting to let the program use the dataset whose name tailed with input$index.

Related Questions