Выбор столбца в моем фрейме данных для создания графика

Мой набор данных состоит из трех столбцов. Один столбец для времени и два других столбца для измерения температуры (Temp1, Temp2).

Я хочу иметь возможность выбрать Temp1 или Temp2 и построить график временных рядов, но я не уверен, как это сделать в моем коде server.R. Что должно идти в моем вызове функции dygraph?

# This is the server logic for a Shiny web application.
# You can find out more about building applications with Shiny here:
#
# http://shiny.rstudio.com
#

library(shiny)
library(dygraphs)

shinyServer(function(input, output) {

  output$TempData <- renderDygraph({
    data <- switch(input$data,
                   "Temp 1" = Data1$Temp1,
                   "Temp 2" = Data1$Temp2),
    dygraph(data, main = "Temperature Rise Data") %>%

     **I'm not sure what goes in here** 

  })

})

и вот ui.R

# This is the user-interface definition of a Shiny web application.
# You can find out more about building applications with Shiny here:
#
# http://shiny.rstudio.com
#

library(shiny)
library(dygraphs)

shinyUI(fluidPage(

  # Application title
  titlePanel("Temperature Data"),

  # Sidebar with a slider input for number of bins
  sidebarLayout(
    sidebarPanel(
      selectInput("data", label = "Choose a Dataset",
                  choices = c("Temp 1", "Temp 1"),
                  selected = "Temp 1" ))
    ),

    # Show a plot of the generated distribution
    mainPanel(
      dygraphOutput("TempData")
    )
  )
)

1 ответ

Решение

Из того, что я могу сказать, это должно дать вам что-то в соответствии с тем, что вы ищете?

Я заставляю принуждение Scan к Date чтобы сделать его совместимым - не уверен, что это лучший способ сделать это, но он по крайней мере на данный момент позволит вам генерировать базовые графы с этими данными - вам, вероятно, захочется продолжить форматирование оси.

...
data <- switch(input$data,
               "Temp 1" = as.xts(Data1$Temp1, order.by = as.Date(Data1$Scan))
               "Temp 2" = as.xts(Data1$Temp2, order.by = as.Date(Data1$Scan))
dygraph(data, main = "Temperature Rise Data")
...
Другие вопросы по тегам