我正在开发一个闪亮的应用程序,让用户能够为不同的变量选择时间线图。为了便于说明,我想使用以下数据:
datTL <- data.frame(Position=c(rep("President", 3), rep("Vice", 3)),
Name=c("Washington", "Adams", "Jefferson",
"Adams", "Jefferson", "Burr"),
start=as.Date(x=rep(c("1789-03-29", "1797-02-03",
"1801-02-03"),2)),
end=as.Date(x=rep(c("1797-02-03", "1801-02-03",
"1809-02-03"),2)))
以下是我设法提出的内容:
#ui.R
library(shiny)
library(googleVis)
shinyUI(bootstrapPage(
selectInput('id','select a name',choices = as.character(unique(datTL$Name))),
htmlOutput('timeline')
))
#server.R
shinyServer(function(input,output){
datainput=reactive({daTL[daTL$Name==input$id,]})
output$timeline=renderGvis({gvisTimeline(data=datTL,
rowlabel="Name",
barlabel="Position",
start="start",
end="end")})
})
使用我的代码,我可以使用下拉列表创建一个应用程序,其中包括总统的姓名和所有总统的时间表图。我正在努力的是使用链接下拉列表和时间线图,以便用户可以通过从列表中选择名称来过滤图。有人可以帮帮我吗?
答案 0 :(得分:0)
这是工作服务器代码。你的代码中有一些拼写错误,反应也被用作shinyServer(function(input,output){
datainput=reactive({datTL[datTL$Name==input$id,]})
output$timeline=renderGvis({
gvisTimeline(data=datainput(),
rowlabel="Name",
barlabel="Position",
start="start",
end="end")})
})
。
if(condition)
; // do nothing
// unrelated block
{
// do something
}