代码之家  ›  专栏  ›  技术社区  ›  CAK

无法使用Shinydashboard应用程序查看CSV

  •  0
  • CAK  · 技术社区  · 6 年前

    我刚刚开始学习shiny,我一直有一个问题,只是查看上传的csv。当我没有侧边栏菜单时,我可以查看数据,但现在我正试图用其他选项卡在我的应用程序上展开,数据现在确实显示出来了。我的格式有问题吗?我的代码附后,它可以用于任何csv。谢谢

    library(shiny)
    library(shinydashboard)
    library(DT)
    
    options(shiny.maxRequestSize=400*1024^2) 
    
    data<- read.csv("shiny.app.data.csv", header=TRUE, sep=',')
    
    ui <- dashboardPage(skin="red",
      dashboardHeader(title="PRIZM Segment Analysis", titleWidth=350),
      dashboardSidebar(width=350, 
                       sidebarMenu(menuItem("Segment Counts and Summaries", tabname="segments", icon=icon("pie-chart")),
                       menuItem("Raw Data", tabname="raw", icon=icon("book")),
                       menuItem("Plots", tabname="plots", icon=icon("line-chart")))),               
      dashboardBody(tabItems(
        tabItem(tabName="segments",
                    box(DT::dataTableOutput("test"), width = 12, status="success", solidHeader = TRUE)))
    
    ))
    
    server <- function(input, output, session) {
      is.num<- sapply(data, is.numeric)
      data[is.num] <-lapply(data[is.num], round,2)
    
      output$test <- DT::renderDataTable({
                    datatable(data,
                    extensions = c('ColReorder','Buttons'),
                    options = list(colReorder = list(realtime = FALSE),scrollX = TRUE,dom = 'Bfrtip', buttons = I('colvis'), list(scrollX = TRUE)),
                    rownames=FALSE,
                    class = 'display cell-border', width=15)
    
    
        })
        }
    
        shinyApp <- shinyApp(ui, server)
        runApp(shinyApp, launch.browser=TRUE)
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   amrrs    6 年前

    这只是你的代码输入错误 tabName (注意大写N) menuItem :

    library(shiny)
    library(shinydashboard)
    library(DT)
    
    options(shiny.maxRequestSize=400*1024^2) 
    
    data<- read.csv("shiny.app.data.csv", header=TRUE, sep=',')
    
    ui <- dashboardPage(skin="red",
      dashboardHeader(title="PRIZM Segment Analysis", titleWidth=350),
      dashboardSidebar(width=350, 
                       sidebarMenu(menuItem("Segment Counts and Summaries", tabName="segments", icon=icon("pie-chart")),
                       menuItem("Raw Data", tabName="raw", icon=icon("book")),
                       menuItem("Plots", tabName="plots", icon=icon("line-chart")))),               
      dashboardBody(tabItems(
        tabItem(tabName="segments",
                    box(DT::dataTableOutput("test"), width = 12, status="success", solidHeader = TRUE)))
    
    ))
    
    server <- function(input, output, session) {
      is.num<- sapply(data, is.numeric)
      data[is.num] <-lapply(data[is.num], round,2)
    
      output$test <- DT::renderDataTable({
                    datatable(data,
                    extensions = c('ColReorder','Buttons'),
                    options = list(colReorder = list(realtime = FALSE),scrollX = TRUE,dom = 'Bfrtip', buttons = I('colvis'), list(scrollX = TRUE)),
                    rownames=FALSE,
                    class = 'display cell-border', width=15)
    
    
        })
        }
    
        shinyApp <- shinyApp(ui, server)
        runApp(shinyApp, launch.browser=TRUE)
    

    参考: https://rstudio.github.io/shinydashboard/structure.html#sidebar-menu-items-and-tabs