我正在创建一个闪亮的应用程序 - 我运行良好,但希望为用户增加一些灵活性。我运行一个从网站下载实时数据的软件包。我运行几个计算并输出一个ggplot vis。它是一个水平段 - 条形图 - 计算并绘制了分解的时间间隔。
我现在想添加一个下拉列表,用户可以为图表过滤最多6个输入(y值)。在任何时候,最多有30-34个独特的y值输入。
我遇到的问题是下拉列表的过滤器列表仅在观察者事件完成计算后才可用。我希望页面加载时没有下拉列表,一旦我的图加载,它就会出现,我可以引用正确的数据框。这是我正在处理的代码 - 我希望有一个复选框,可以在点击后动态显示所有六个输入选项。
checkboxInput("FILTER", "CHOOSE INPUTS"),
conditionalPanel(
condition = "input.FILTER == true",
selectInput("input.1", "CHOOSE FIRST INPUT",
c("All",
unique(as.character(df$Name)))
可以看出,df $ Name不会在页面加载时计算,因此应用程序无法运行。一旦我运行所有常规代码,有没有办法只显示SelectInput下拉列表?我认为可以绑定一个运行我的初始代码的提交按钮?
在添加SelectInput'之前,这是我的UI.R:
shinyUI(fluidPage(
fluidRow(
column(12,
h3("LIVE CHART",align = "center"))),
br(), #BREAK BETWEEN HEADER AND CONTENT
fluidRow(
column(2,
h6("DYNAMIC LIST"),
fluidRow(
column(12,
selectInput("get.id",label="ID NUMBER", setNames(as.list(dframe$gcode),dframe$date)),
actionButton("submit1", "SUBMIT"),
)
))
,
column(10,
plotOutput("p.plot", height=800, width="auto"),
br(),
fluidRow(
column(5,
div(dataTableOutput("table1"), style = "font-size:85%")),
#dataTableOutput("table1")),
column(5, offset=1,
div(dataTableOutput("table2"), style = "font-size:85%"))
#dataTableOutput("table2"))
)
)#end fluid row width of page(#1)
)
))
通过Observe将绘图功能绑定到提交按钮。
提前谢谢!