我正在从两个URL实时读取数据到Shiny,并显示最近更新的8条记录。然而,在Shiny中显示的数据并不是最新的,即显示之前几天的记录,与URL的实时记录不一致,除非我再次粘贴、打开/刷新URL在我的浏览器中。我想知道这是否是缓存问题,以及我应该如何修改代码?
更新: 事实证明,出现更新问题的是服务器本身而不是代码。然而,答案提供了有用的解决方案。
library(shiny)
shinyApp(
ui <- fluidPage(
column(3,
selectInput("station", "Select station",
c("a", "b")),
tableOutput("table")
)
),
server <- function(input, output) {
df <- eventReactive(input$station, {
if (input$station == "a") {
tail(read.csv("https://datagarrison.com/users/300234062103550/300234062107550/temp/Dawson_Creek__008.txt",
sep = "\t", skip = 2)[, c("Date_Time", "Rain_2440445_mm")], 8)
} else {
tail(read.csv("http://datagarrison.com/users/300234062103550/300234064336030/temp/10839071_004.txt",
sep = "\t", skip = 2)[, c("Date_Time", "Rain_2007476_mm")], 8)
}})
output$table <- renderTable(
df()
)
})
更新: 事实证明,出现更新问题的是服务器本身而不是代码。然而,答案提供了有用的解决方案。