2017-01-17 2 views
1

Я создал несколько моделей, используя данные набора данных. После построения модели я создал ошибку и создать таблицу в залежи:rshiny построение нескольких графиков с использованием фрейма данных

Model1 Model2  Model3  Model4  Model5 TestData  time 
1 636.854 578.691  623.360  638.430  691.028 5757 Oct 2015 
2 566.647 627.868  562.838  590.698  563.355 512 Nov 2016 
3 569.796 568.839  572.238  573.294  568.711 568 Dec 2015 
4 567.660 561.306  576.710  573.889  564.812 534 Jan 2016 
5 5653.244 514.589  575.057  522.061  514.812 434 Feb 2016 
6 593.142 533.017  601.882  616.739  610.158 540 Mar 2016 
7 594.040 596.805  607.002  609.083  619.537 526 Apr 2016 

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

Если бы я был сделать в ggplot:

plt <- ggplot(data=molted, 
       aes(x=time, y=value, colour=variable, group=variable)) + geom_line(size=1.5) + 
    xlab("Date") + ylab("Values") + theme(axis.text.y = element_text(size=20), 
                  axis.title.y = element_text(size=28), 
                  axis.text.x = element_text(size=20, angle=45, hjust=1), 
                  axis.title.x = element_text(size=26)) 

Я начал с очень простой:

library(shiny) 
shinyServer(
    function(input, output) { 
    } 
) 
shinyUI(fluidPage(
    titlePanel(title="This is the first shiny app, hello"), 
    sidebarLayout(position = "right", 
    sidebarPanel(h3("this is the side bar panel"), h4("widget4"), h5("widget5")), 
    mainPanel(h4(" this is the main panel, out is displayed here"), 
       h5(" this is the output5")) 
) 
)) 

ответ

1

Вы можете попробовать что-то вроде следующего, чтобы начать с (а затем рассмотреть вопрос о преобразовании time в Date класса и использовать scale_x_date и т. д.)

df <- read.table(text=' Model1 Model2  Model3  Model4  Model5 TestData  time 
       1 636.854 578.691  623.360  638.430  691.028 5757 Oct2015 
       2 566.647 627.868  562.838  590.698  563.355 512 Nov2016 
       3 569.796 568.839  572.238  573.294  568.711 568 Dec2015 
       4 567.660 561.306  576.710  573.889  564.812 534 Jan2016 
       5 5653.244 514.589  575.057  522.061  514.812 434 Feb2016 
       6 593.142 533.017  601.882  616.739  610.158 540 Mar2016 
       7 594.040 596.805  607.002  609.083  619.537 526 Apr2016', header=TRUE) 
library(reshape2) 
melted <- melt(df, id='time') 

library(shiny) 
server <- shinyServer(
    function(input, output) { 
    output$plt<-renderPlot({ 
     ggplot(data=molted, 
      aes(x=time, y=value, colour=variable, group=variable)) + geom_line(size=1.5) + 
       xlab("Date") + ylab("Values") + theme(axis.text.y = element_text(size=20), 
               axis.title.y = element_text(size=28), 
               axis.text.x = element_text(size=20, angle=45, hjust=1), 
               axis.title.x = element_text(size=26))},height = 400,width = 600) 
    } 
) 
ui <- shinyUI(fluidPage(
    titlePanel(title="This is the first shiny app, hello"), 
    sidebarLayout(position = "right", 
       sidebarPanel(h3("this is the side bar panel"), h4("widget4"), h5("widget5")), 
       mainPanel(plotOutput("plt")) 
) 
)) 
shinyApp(ui = ui, server = server) 

enter image description here

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