我正在嘗試創建一個Shiny應用程序。Rstudio Shiny - 從Websource更新數據框
我希望它從網上下載一個CSV文件並存儲在本地機器上,然後執行分析。
我目前的做法是:
ui.R
library(shiny)
shinyUI(pageWithSidebar(
# Application title
headerPanel("TEST"),
sidebarPanel(
sliderInput("range", "Date Range:",
min = 0, max = 15, value = c(0,15))
),
# Show a tabset that includes a plot, summary, and table view
# of the generated distribution
mainPanel(
tabsetPanel(
tabPanel("Plot", plotOutput("plot"))
)
))
server.R
library(shiny)
shinyServer(function(input, output) {
datasetInput <- function(){
x1 <- strptime(Sys.time(), "%Y-%m-%d %H:%M:%S")
x2 <- strptime(file.info("/srv/shiny-server/Data/current.csv")$mtime, "%Y-%m-%d %H:%M:%S")
if (difftime(x1, x2, units='mins') > 20){
str <- "wget http://www.web.com/file.csv -O /srv/shiny-server/Data/current.csv"
system(str)
}
data <- read.csv("/srv/shiny-server/Data/current.csv")
return(data)
}
output$plot <- renderPlot({
data <- datasetInput()
plot(data)
})
所以,一切正常。數據完美地繪製。問題是wget腳本沒有被調用。無論我把它放在哪裏。
爲了簡單起見,我的主要目標是在應用程序運行時下載並保存CSV文件。然後在該CSV文件中讀取我的主數據框。
最終目標是每次有人對應用程序進行任何操作時,我的應用程序都會執行時間檢查(檢查文件是否大於20分鐘)。如果它較舊,我想下載/保存該文件,並更新我的數據框。
* note *使用wget函數是解決訪問受密碼保護的CSV文件時遇到的問題。
的問題/解決方案是在這裏討論: R Import - CSV file from password protected URL - in .BAT file
我不知道很多關於如何閃亮的作品,用來產生閃亮的應用程序的代碼大部分來自: http://rstudio.github.io/shiny/tutorial/#tabsets