试图生成一个有光泽的Web应用程序,但有arg错误的问题

时间:2018-04-03 12:28:46

标签: r shiny

我创建了以下Shiny网络应用程序,以便从Quandl下载货币数据,然后绘制时间序列。

但是,当我运行代码时,我收到错误消息:'arg'必须为NULL或字符向量

我已经看过以前的答案,而且问题通常似乎是反应性表达没有被正确定义。但是,据我所知,所有相关列都嵌套在fluidRow中,所以我不知道是什么导致了这个错误。

任何建议表示赞赏。

ui.R

library(shiny)

ui <- fluidPage(
  titlePanel("Currency"),

  fluidRow(
    column(3, 
       selectInput("currencypairs", 
                          h3("Currency Pairs"), 
                          choices = c("EUR/USD" = "FRED/DEXUSEU", 
                                         "USD/GBP" = "FRED/DEXUSUK", 
                                         "USD/AUD" = "FRED/DEXUSAL"),
                          selected = "EUR/USD")),
    column(3, 
       dateInput("start_date", 
                 h3("Start Date"), 
                 value = "2014-01-01")),
    column(3, 
       dateInput("end_date", 
                 h3("End Date"), 
                 value = "2017-01-01"))   
  ),

  # Show a plot of the generated output
  mainPanel(
    plotOutput("CurrencyOutput")
  )
 )

server.R

library(shiny)
library(ggplot2)
library(scales)
require(Quandl)

# Shiny Application
shinyServer(function(input, output) {

  output$CurrencyOutput <- renderPlot({

    currency = Quandl(input$currencypairs, 
input$start_date,input$end_date,type="xts")
    currencydf<-data.frame(currency)
    plot(currencydf$currency,type='l',col="blue")
  })

})

1 个答案:

答案 0 :(得分:1)

我使用了您的代码并找到了解决方案。你需要直接输入start_date和end_date作为输入,所以代码如下:

currency = Quandl(input$currencypairs, start_date=input$start_date, end_date=input$end_date, type="xts")

我希望它有所帮助