我创建了以下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")
})
})
答案 0 :(得分:1)
我使用了您的代码并找到了解决方案。你需要直接输入start_date和end_date作为输入,所以代码如下:
currency = Quandl(input$currencypairs, start_date=input$start_date, end_date=input$end_date, type="xts")
我希望它有所帮助