我有以下应用程序在我的计算机上正常运行,但是,它在部署shinyapps时抛出错误:
ui.R
library(shiny)
library(ggplot2)
library(dplyr)
library(rCharts)
library(DT)
library(htmlwidgets)
library(shinyapps)
# dataset <- ntctidecombined
# Define UI for application that draws a histogram
shinyUI(fluidPage(
# Application title
titlePanel("Seattle Society fund raise"),
# Sidebar with a slider
sidebarLayout(position="left",
sidebarPanel(
),
mainPanel(
# plotOutput('plot', height="700px"))
tabsetPanel(
tabPanel("Plot", plotOutput("plot", width = "500px", height = "600px")),
tabPanel("Donors / Ticket buyers", tableOutput("donors")),
tabPanel("Table", tableOutput("table"))
))
)
))
server.R
library(shiny)
library(ggplot2)
library(dplyr)
library(rCharts)
library(DT)
library(htmlwidgets)
library(shinyapps)
shinyServer(function(input, output) {
#dataset <- load("ntctidecombined.Rda")
dataset <- read.csv("https://dl.dropboxusercontent.com/u/9267938/Testspreadsheet.csv")
dataset1 <- dataset %>% group_by(Category) %>% summarize(Sum = sum(Amount))
output$plot <- renderPlot({
dataset2 <- dataset1
p1 <- ggplot(dataset1, aes(x = Category, y = Sum, fill = Category)) +
geom_bar(stat= "identity") + ylab("Total Amount (dollars)") +
geom_text(aes(Category, Sum, label = Sum, vjust = -1.5)) +
coord_cartesian(ylim = c(0,10000))
p1
})
output$table <- renderTable(dataset1)
output$donors <- renderTable(dataset)
})
当我检查shinyapps中的日志时,我发现我收到如下错误:
Error in file(file, "rt") : https:// URLs are not supported
。
我正在尝试使用Dropbox上的文件,因此我想使用该文件自动更新图表和统计信息。使用网络数据的最佳方式是什么?
答案 0 :(得分:2)
替换
dataset <- read.csv("https://dl.dropboxusercontent.com/u/9267938/Testspreadsheet.csv")
与
library(RCurl)
data <- getURL("https://dl.dropboxusercontent.com/u/9267938/Testspreadsheet.csv")
dataset <- read.csv(text = data )
应该有用。
或一行
dataset <- read.csv(text=getURL("https://dl.dropboxusercontent.com/u/9267938/Testspreadsheet.csv"))
答案 1 :(得分:-2)
传递给GetURL的Dropbox文件的URL必须是
https://dl.dropboxusercontent.com/<string for user's file.csv>
e.g。 /u/9267938/File.csv