У меня есть 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))
})
})