每次打开或刷新网页时,如何使R Shiny刷新?

问题描述

我创建了一个Shiny应用程序。基本上,在R代码内部,从URL链接(因此App仅使用它)中检索数据,该链接以excel格式下载数据。 URL中的数据每小时刷新一次。因此,理想情况下,Shiny应用程序每次都会获取最新数据。

问题:是否可以通过这种方式在每次用户1)使用Shiny应用程序打开网页并2)按网页上的刷新按钮时在(Shiny应用程序的)网页上显示最新数据。使用闪亮的应用程序?

数据总是在H + 30刷新。即上午10点的信息将在11:30等发布。因此,我想要一种刷新按钮,它有助于从一开始就在应用程序中运行脚本。

下表如下:

library(shiny)
#library(httr)
#library(XML)
library(dplyr)
library(ggplot2)
#library(data.table)
library(formattable)
library(reshape2)
library(ggthemes)
library(shinyjs)
library(V8)



df <- read.csv2(paste("path"))[-2]
names(df) <- c("Region","Date","Imbalance")

df$Date  <- as.POSIXct(df$Date,format="%Y-%m-%d %H")
df$Imbalance<-as.numeric(df$Imbalance)

df<- as.data.frame(na.omit(dcast(df,Date ~ Region,value.var = "Imbalance")))
df<-df %>% arrange(desc(Date))
df[2:5]<-lapply(df[2:5],as.numeric)
df[2:5]<-round(df[2:5],0)



# Define UI for application
ui <- fluidPage(
  
  # Application title
  titlePanel("Imbalance volumes"),# Sidebar with slider input to select date range
  sidebarLayout(
    sidebarPanel(
      
      
      
      # Add a Slider Input to select date range
      #sliderInput
      dateRangeInput("Date_range_selector","Select Date Range",start = as.Date(paste(Sys.Date()-2,"00:00:00",sep = " "),"%Y-%m-%d %H"),end = as.Date(paste(Sys.Date(),min = as.Date("2015-01-01 00:00:00",max = as.Date("2020-12-01 00:00:00","%Y-%m-%d"),#value=c(as.Date(Sys.Date()-14),as.Date(Sys.Date())),#format ="%Y-%m-%d"
      )
    ),# plot graphs
    mainPanel(tabsetPanel(
      tabPanel("Stat",h3(helpText("Imbalance volumes")),formattableOutput("formattableexample"))
    )
    )
  ))





server <- function(input,output) {
  

  
  ############Plot Prices and histogram###############
  

  
  test2<-reactive({
    
    
    df %>%
      filter(between(as.Date(Date),input$Date_range_selector[1],input$Date_range_selector[2]))
    
    
    
    
  })
  
  output$formattableexample <- renderFormattable({
    formattable(test2(),align =c("l","c","r"),list("Date" = formatter("span",style = ~ style(color = "grey",font.weight = "bold"))
                ))
  })
  

  
}



shinyApp(ui = ui,server = server)




解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)