最初に別のスクリプトdo_data.Rで生成されたデータのサブセットを選択してデータをフィルタリングし、次にユーザーが選択したいくつかのインジケーターでこのサブセットをフィルタリングするアプリケーションを作成しようとしています。
私の再現例を以下に示します。
私のui.Rファイルは次のとおりです。
source("do_label.R")
shinyUI(fluidPage(theme = shinythemes::shinytheme("lumen"),
fluidRow(
column(width = 8, includeMarkdown("intro_data.md")),
column(width = 4, includeHTML("intro_logo.html"))
),
sidebarLayout(
sidebarPanel(
selectInput("indicator", "Indicator:", choices = indicator),
selectInput("category", "Category:", choices = category)
sliderInput("year", "Year:", min = 2011, max = 2016, value = 1, sep = "")
),
mainPanel(
tabsetPanel(
tabPanel('Data', DT::dataTableOutput('ex1')),
tabPanel('Graphs', DT::dataTableOutput('ex2'))
)
))
))
私のserver.Rファイルは次のとおりです。
library(readr)
library(dplyr)
source("do_data.R")
# Load the dataset
loadData <- function() {
df <- surveydata
return(df)
}
getTable <- function(df, reaction){
if(input$indicator == "df1")
return(df1)
else
return(df1)
}
##### GLOBAL OBJECTS #####
# Shared data
globalData <- loadData()
##### SHINY SERVER #####
# Create shiny server.
shinyServer(function(input, output) {
cat("Press \"ESC\" to exit...\n")
# Copy the data frame
localFrame <- globalData
getReaction4 <- reactive({
return(list(indicator = input$indicator
))
}) # getReaction4
# Output table.
output$table = DT::renderDataTable({print(getTable(localFrame, getReaction4()))} # output table
}))
私の問題は、サブセットdf1とdf2がまったく表示されず、sidebarPanelが完全に機能していないように見えることです。ここで私が見逃していることについて、いくつかの基本的なアドバイスをお願いできますか?
よろしく