tabPanel内的反应输出使用用户输入

时间:2017-01-08 21:23:22

标签: r dataframe shiny subset reactive

我正在尝试创建一个过滤数据的应用程序,首先选择在单独的脚本 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 似乎完全无效。关于我在这里失踪的一些基本建议,你能帮忙吗?

此致

0 个答案:

没有答案