Я занимаюсь разработкой блестящего приложения, чтобы дать пользователям возможность выбирать график временной шкалы для разных переменных. Для иллюстрации я хотел бы использовать следующие данные:Использование googleVis in Shiny
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")})
})
С моим кодом, я могу создать приложение с выпадающим списком включая имена президентов и график времени для всего президента. То, с чем я борюсь, - это использовать ссылку выпадающего списка с графиком временной шкалы, чтобы пользователь мог отфильтровать сюжет, выбрав имена из списка. Может кто-нибудь, пожалуйста, помогите мне?
Hi @warmoverflow, спасибо за ваш ответ. Мне просто интересно, можно ли включить функцию 'datainput' в функцию' renderGivs'? – Cypress
Должен работать. Просто удалите 'реактивный'. Это была бы не функция, а просто переменная. –