2015-08-24 5 views
0

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

Я хочу, чтобы быть в состоянии выбрать Temp1 или Temp2 и график временных рядов, но я не уверен, как это сделать в моем сервере.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") 
    ) 
) 
) 
+0

Являются ли ваши входные данные объектами xts или могут быть преобразованы в объект xts? Ваш общий подход кажется правильным, но трудно сказать, что вам не хватает без полного воспроизводимого примера. –

+0

Входные данные не являются объектами xts. Он был прочитан через read.xlsx. Может ли это быть преобразовано в объект xts, или я должен использовать обычную линейную диаграмму? – Gary

+0

Вы можете конвертировать его. Не могли бы вы запустить 'dput (Data1)' и включить вывод как часть вашего вопроса - это поможет мне помочь вам. –

ответ

1

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

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

... 
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") 
... 
+0

Это работает! Я также переименовал «данные», потому что это путало R и давало мне странную ошибку. Спасибо за вашу помощь! – Gary

+0

Без проблем - рад, что я мог бы помочь! –

Смежные вопросы