глянцевая панель приборов не отображается - PullRequest
0 голосов
/ 10 декабря 2018

У меня есть 4 tabitem, которые представляют собой «данные», «сводка», «прогноз» и «описание», но на панели мониторинга отображаются только выходные данные «данные» и «сводка».

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

ui.r

library(shinydashboard)
library(DT)

shinyUI(dashboardPage
        (
          # skin <- Sys.getenv("DASHBOARD_SKIN"),
          # skin <- tolower(skin),
          # if (skin == "")
          skin = "blue", 

      dashboardHeader(
        title = "Price Prediction of Travel Package on Upcoming Holidays",
        titleWidth = 600
      ),

      dashboardSidebar(
        #sidebarSearchForm(label = "Search...", "searchText", "searchButton"),
        sidebarMenu(
          menuItem("Data", tabName = "datas"),
          menuItem("Predictive Analytics", tabName = "Predictive Analytics"),
          menuItem("Summary of Predictive Analytics", tabName = "Summary"),
          menuItem("Descriptive Analytics", tabName = "Descriptive Analytics")
        )
      ),

      dashboardBody(
        tabItems(
          tabItem(tabName = "datas",
                  titlePanel("Travel Package Price in every State in Malaysia on Public Holidays from 2018 to 2019"),

                  fluidRow(
                    DT::dataTableOutput("data")
                  )
          ),
          tabItem(tabName = "Summary",
                  box(
                    width = 6,
                    title = "Predicted Price vs Original Price", background = "maroon", height = 500,
                    plotOutput("predictplot")
                  ),
                  box(
                    width = 6,
                    title = "Residuals vs Fitted", background = "purple", height = 500,
                    plotOutput("scatplot")
                    # height = 250
                  )
          ),
          tabItem(tabName = "Predictive Analytics",
                  titlePanel("Predicted Price vs Original Price"),
                  fluidRow(

                    DT::dataTableOutput("prediction")
                  )
          ),
          tabItem(tabName = "Descriptive Analytics",
                  titlePanel("Data Visualizations"),
                  fluidRow(
                    column(4, selectInput("variable", "Select Variable:",
                                          c("Holidays", "States"))
                    )
                  ),
                  box(
                    h3(textOutput("caption")),
                    plotOutput("description")
                  )
          ))       
      )
    )
)

server.r

    shinyServer(function(input, output) {

  mydata <- read.csv(file="C:/Users/tyra/Documents/expedia.csv", sep=',', h=T)

  set.seed(222)
  ind <- sample(2, nrow(mydata), replace = T, prob = c(0.7, 0.3))
  train <- mydata[ind==1,]
  test <- mydata[ind==2,]
  model = lm(Price ~., data = train)
  model1 <- lm(Price ~., data = test)

  Predicted_Price = predict(model1)
  Original_Price = test$Price
  Holidays = test$Holidays
  States = test$States
  df1 = data.frame(Original_Price, Predicted_Price, Holidays, States)


  output$data <- DT::renderDataTable(DT::datatable({
    mydata
  }))

  formulaText <- reactive({
    paste("Price ~", input$variable)
  })

  output$caption <- renderText({
    formulaText()
  })

  output$description <- renderPlot({
    boxplot(as.formula(formulaText()),
            data = mydata,pch = 19)
  })

  output$prediction <- DT::renderDataTable(DT::datatable({
    df1
  }))

  output$predictplot <- renderPlot({
    plot(predict(model1), test$Price)
  })


  output$scatplot <- renderPlot({
    plot(fitted(model1),residuals(model1))
  })

})

1 Ответ

0 голосов
/ 10 декабря 2018

это уже решено !!Я знаю, в чем была проблема. имя табуляции не должно иметь пробела lol

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