R Shiny:如何从 "Date Range" 获取日期,将它们插入 Quandl,并使用结果数据生成图表

R Shiny: How to take dates from "Date Range", plug them into Quandl, and use the resulting data to generate a graph

我开始制作ui我的第一个闪亮的应用程序,但它最终比预期的要复杂(学习!)。不幸的是,我设法 Google-fu 了一大堆小错误,变成了没有错误的情况,它只是 returns 一个空白图表。

代码:(服务器)

library(ggplot2)
library(Quandl)
library(methods)

shinyServer(
  function(input, output) {
# see (

start_date2<-reactive({format(input$date_range[1])})
end_date2<-reactive({format(input$date_range[2])})

psuedonym<-data.frame(Date=as.Date(character()),
                      Value=integer(),
                      stringsAsFactors=FALSE)

psuedonym<-reactive({Quandl("ZILL/Z94550_A", start_date2, end_date2, type="raw")})

output$qplot<-renderPlot({reactive({plot(psuedonym$Date, psuedonym$Value)})})
})

(ui)

library(shiny)
shinyUI(fluidPage(
    titlePanel("My Shiny App"),

    sidebarLayout(position="right", 
        sidebarPanel(
        plotOutput("qplot")
        ),
    mainPanel(dateRangeInput("date_range", 
        label=h3("Date Range"), start="2010-01-01", end="2015-01-01",
    )
))))

我想要的:我希望用户能够在日期范围内输入日期,将这些变量输入 Quandl 代码 (https://www.quandl.com/help/r),然后为他们提取数据并生成一个简单的图形。稍后我想添加定义邮政编码和变量的功能。例如,这有效:

library(ggplot2)
library(Quandl)
library(methods)

shinyServer(
  function(input, output) {

    start_date="2010-01-01"
    end_date="2015-01-01"
    psuedonym=Quandl("ZILL/Z90001_A", start_date, end_date, type="raw")
    output$qplot<-renderPlot({plot(psuedonym)})

我认为出了什么问题:这个(R: error in qplot from ggplot2: argument "env" is missing, with no default)和之前的错误消息让我认为数据框出了点问题,它没有以某种方式获取 Quandl 数据。

在此先感谢您的帮助

我想你误解了 shiny 的工作原理。

看看这个教程。 http://shiny.rstudio.com/tutorial/lesson4/

ui.R

shinyUI(fluidPage(
  sidebarLayout(
    sidebarPanel(dateRangeInput("date_range", label=h3("Date Range"),start="2010-01-01", end="2015-01-01")
    ),
    mainPanel(
      plotOutput("qPlot")
    )
  )
))

server.R

shinyServer(function(input, output) {
  output$qPlot <- renderPlot({ 
    psuedonym<-Quandl("ZILL/Z94550_A", input$date_range[1], input$date_range[2], type="raw")
    plot(psuedonym)
  }) 
}
)