Проблема получения данных с использованием Shiny UI dataRangeInput - PullRequest
0 голосов
/ 07 октября 2019

Я могу успешно сослаться на вход пользовательского интерфейса input$dateRange1[1], чтобы настроить текст заголовка ggplot, но я не могу использовать тот же объект ввода для запроса данных, используя функцию readNWISdv() из dataRetrieval. Я не уверен, что это проблема Shiny или ggplot.

Моя попытка использовать реактивное выражение дает ошибку ниже. Подобные вопросы по stackoverflow не помогли в решении этой проблемы. Заранее спасибо.

Предупреждение. Ошибка в: data должен быть фреймом данных или другим объектом, который может быть fortify(), а не объектом S3 с классом реактивнымExpr / реактивным [Нет трассировки стекадоступно]

Мой код-

## LIBRARY PACKAGES #####################
library(shiny)
library(dataRetrieval)
library(ggplot2)

rm(list = ls())

## USER INTERFACE #####################
if (interactive()){
ui <- fluidPage(
  sidebarPanel(
    dateRangeInput("dateRange1", "Date Range Plot1 (yyyy-mm-dd):",
                   start = "2012-01-01",
                   end   = "2018-02-30"),

  plotOutput(outputId = "flow"))
)

## SERVER #############################
server <- function(input, output, session){
  ReData <- reactive({
  dailyData <- readNWISdv(siteNumbers = c('09106150'), 
                                parameterCd = "00060",  # 00060 = stream flow in CFS
                                startDate = input$dateRange1[1], endDate = "2019-01-01") #issue line


  # Clean up data to have human-readable names of parameters + move data into long format
  dailyData <- renameNWISColumns(dailyData); head(dailyData)
  dailyData <- select(dailyData, -ends_with("_cd")); head(dailyData)
                          })
  output$flow <- renderPlot({ 
    ggplot(data = ReData, aes(x = Date, y = Flow)) +
      ggtitle(as.character(input$dateRange1[1]))+
      geom_line(aes(color = site_no)) +
      theme_bw()
                            })
                                        }
shinyApp(ui = ui, server = server)
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...