问题描述
我创建了一个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 (将#修改为@)