См. http://shiny.rstudio.com/gallery/timer.html, используя это, мы можем продолжать обновлять каждую секунду, поэтому следите за обновлениями.Примечание. Я бы очистил ваш рабочий сеанс, чтобы убедиться, что вы не читаете ни одной скрытой переменной.
server <- function(input, output,session) {
....
output$table <- renderTable({
invalidateLater(1000, session)
df()
})
}
Обратите внимание, что output$table<- renderTable
нужно ({
, а не (
, чтобы считаться реактивным в блестящем, ваш текущий код может показывать вам ранее созданные таблицы.
ЗдесьВаш код вызывает обновление с помощью кнопки действия (примечание: замените URL)
library(shiny)
shinyApp(
ui <- fluidPage(
column(3,
selectInput("station", "Select station",
c("a", "b")),
tableOutput("table"),
#add action button
actionButton("button","Refresh")
)
),
server <- function(input, output) {
#trigger rest of code based on button being pressed.
observeEvent(input$button,{
if (input$station == "a") {
df<-tail(read.csv("URL",sep = "\t", skip = 2)[, c("Date_Time",
"Rain_2440445_mm")], 8)
} else {
df<-tail(read.csv("URL",sep = "\t", skip = 2)[, c("Date_Time",
"Rain_2007476_mm")], 8)
}#close if/else()
output$table <- renderTable({
df
}) # close renderTable()
})#close observeEvent()
} #close server
) #close shiny app