2017-07-19 10 views
1

サイドバーに2つのタブがある光沢のあるダッシュボードを作成しています。 タブ1はcsvをインポートするためのもので、タブ2は、選択した変数のプロットを表示するためのものです。サイドバーのタブをクリックした後、自分のダッシュボード本体は変更されません:SideBarダッシュボード本体に何も描画していません:Rシャイニーダッシュボード

TAB2は、プロット

問題ための変数を選択するための入力オプションを選択しています。それは常に私にTab1コンテンツ、つまりCSVインポート結果を表示しています。 だからサイドバーにTAB2をクリックするのにもかかわらず、何も後

を起こりませんすべてのヘルプが重要である私のスクリプト

library(shinydashboard) 
library(shiny) 
library(DT) 
#UI 

sidebar=dashboardSidebar(width=200, 
        sidebarMenu(id="sidebar", 
            menuItem("Data UpLoad", tabName = "dashboard", icon = icon("table"), 
              fileInput('file1','Choose CSV File', 
                accept=c('text/csv','text/comma-separated-values,text/plain', '.csv'))), 

            menuItem("Uni Variate", tabName = "Uni", icon = icon("line-chart"), 
              fluidRow(
              selectInput("options",label=h5("Select Column"),""))))) 


body= dashboardBody(
tabItems(
tabItem(tabName="dashboard",class='active', 
     fluidRow(
      box(
      title="Data",solidHeader = TRUE, collapsible = TRUE, 
      div(style='overflow-x: scroll',tableOutput("table1"))))), 

tabItem(tabName = "Uni", 
     fluidRow(box(title="Plot",solidHeader = TRUE,plotOutput("plot1"))), 
     h2("tab content")))) 

dashboardPage(
dashboardHeader(title= "test"),sidebar,body) 

#Server 
server <- function(input, output,session) { 
data_set <- reactive({ 
req(input$file1) 
inFile <- input$file1 
data_set1<-read.csv(inFile$datapath) 
list(data=data_set1) 
}) 
# updating select input of second tab in shiny side bar 
observe({ 
updateSelectInput(
    session, 
    "options", 
    choices = names(data_set()$data))}) 

# tab1 
output$table1= renderTable({ 
de=as.data.frame(data_set()$data[1:7,])}) 

#tab2 
output$plot1 <- renderPlot({ggplot(data_set$data,aes(y=input$options,x=Prediction))+geom_histogram(binwidth=0.50, fill="blue") }) 
} 

です!

答えて

2

問題はサイドバーにウィジェットを置くことに関連しているようですが、サブメニューとして表示されます。以下は、非アクティブなときに非表示にするかどうかに応じて、サイドバーにウィジェットを表示する方法です。

オプションの1-ウィジェットをタブが

アクティブなときに常に表示

library(shinydashboard) 
library(shiny) 

sidebar <- dashboardSidebar(width=200, 
    sidebarMenu(id="sidebar", 
    menuItem("Data UpLoad", icon = icon("table"), tabName = "dashboard"), 
    div(
     fileInput('file1','Choose CSV File', 
     accept=c('text/csv','text/comma-separated-values,text/plain', '.csv')) 
    ), 
    menuItem("Uni Variate", icon = icon("line-chart"), tabName = "Uni"), 
    div(
     selectInput("options",label=h5("Select Column"),"") 
    ) 
) 
) 

body <- dashboardBody(
    tabItems(
    tabItem(tabName="dashboard", class='active', 
     box(title="Data",solidHeader = TRUE, collapsible = TRUE, 
     div(style='overflow-x: scroll', p("table1")) 
    ) 
    ), 
    tabItem(tabName = "Uni", 
     box(title="Plot", solidHeader = TRUE, p("plot1")) 
    ) 
) 
) 

server <- function(input, output,session) {} 

shinyApp(dashboardPage(dashboardHeader(title= "test"), sidebar, body), server = server) 

2 - ウィジェットのみ表示オプションは、ユーザーが必要、体に正しいタブを表示することに注意してください。サブアイテムをクリックします。

library(shinydashboard) 
library(shiny) 

sidebar <- dashboardSidebar(width=200, 
    sidebarMenu(id="sidebar", 
     menuItem("data", icon = icon("table"), tabName = "dashboard", 
     menuSubItem(tabName = "dashboard", 
      fileInput('file1','Choose CSV File', 
      accept=c('text/csv','text/comma-separated-values,text/plain', '.csv')) 
    )), 
     menuItem("Uni Variate", icon = icon("line-chart"), tabName = "Uni", 
     menuSubItem(tabName = "Uni", 
      selectInput("options",label=h5("Select Column"),"") 
    )) 
) 
) 

body <- dashboardBody(
    tabItems(
    tabItem(tabName="dashboard", class='active', 
     box(title="Data",solidHeader = TRUE, collapsible = TRUE, 
     div(style='overflow-x: scroll', p("table1")) 
    ) 
    ), 
    tabItem(tabName = "Uni", 
     box(title="Plot", solidHeader = TRUE, p("plot1")) 
    ) 
) 
) 

server <- function(input, output,session) {} 

shinyApp(dashboardPage(dashboardHeader(title= "test"), sidebar, body), server = server) 
+0

それは、メインメニューアイテムの下で、各menusubItemの入力オプションを提供することができますか?もしそうなら、私を例に導くことができますか?私がこれをしようとすると、テーブル/プロットはレンダリングされません。ありがとうございました – user5249203

関連する問題