1

I have build multiple model using a data a data set. After model building i have created the error and generate a table as fallows:

    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

I want to bring this into a rshiny app where y axis is values from each model and x axis is time. Basically a plot containing a all the lines.

If I were to do in 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))

I started with very basic:

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 Answer 1

1

You can try something like the following to start with (then consider converting time to Date class and use scale_x_date etc.)

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

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.