Мое приложение было успешно развернуто (https://gustavonucci.shinyapps.io/Corona/), но после попытки добавить еще один tabItem оно не отображает ничего, ни локально, и не возвращает никакой ошибки. Ниже сокращенного кода, поскольку полный код содержит 1000 строк и стек не позволяет этого:
Дополнительная вкладка - "tabItem (" map ")", как комментарий.
Спасибо, Густаво
{read and manipulate datasets}
#Shiny
ui <- dashboardPage(
dashboardHeader(title = "Corona Vírus"),
dashboardSidebar(
sidebarMenu(
menuItem("Dashboard Global", tabName = "global", icon = icon("globe")),
menuItem("Brasil", tabName = "br", icon = icon("line-chart")),
menuItem("Brasil (Por Estado)", tabName = "estado", icon = icon("line-chart")),
menuItem("Brasil (Por Cidade) - Em breve", tabName = "cidade", icon = icon("line-chart")),
menuItem("Por Continente", tabName = "cont", icon = icon("line-chart")),
menuItem("Por País", tabName = "paises", icon = icon("line-chart")),
menuItem("Mapas - Em breve", tabName = "map", icon = icon("map")),
menuItem("Modelos Preditivos - Em breve", tabName = "pred", icon = icon("desktop"))
)
),
dashboardBody(
tabItems(
tabItem("global",
fluidRow(
box(width = 12,
footer = paste("Última atualização em:", att),
status = "info",
h2("COVID-19 Dashboard")
)
),
fluidRow(
box(width = 12,
title = "Números do Corona Vírus no Mundo:",
solidHeader = TRUE,
status = "primary",
collapsible = TRUE,
valueBoxOutput("TotalCasos", width = 3),
valueBoxOutput("TotalMortes", width = 3),
valueBoxOutput("PMaisCasos", width = 3),
valueBoxOutput("PMaisMortes", width = 3)
)
),
fluidRow(
box(width = 12,
title = "Números do Corona Vírus Hoje:",
solidHeader = TRUE,
status = "primary",
collapsible = TRUE,
valueBoxOutput("NCasos", width = 3),
valueBoxOutput("NMortes", width = 3),
valueBoxOutput("MaisCasos", width = 3),
valueBoxOutput("MaisMortos", width = 3)
)
),
fixedRow(
tabBox(
title = "Gráficos",
id = "grafTab",
tabPanel("Evolução",
plotlyOutput("Evolucao")),
tabPanel("Casos Globais",
plotlyOutput("CasosGlobais")),
tabPanel("Mortes Globais",
plotlyOutput("MortesGlobais")),
tabPanel("Recuperados Globais",
plotlyOutput("RecGlobais"))
),
tabBox(
title = "Ranking",
id = "rankingtab",
tabPanel("Global",
DTOutput("tabGlobal")
),
tabPanel("Brasil",
DTOutput("tabBrasil")
)
)
)
),
{other tab itens}
#tabItem("map",
# tabBox(
# title = "Mapas",
# id = "mapGraf",
# width = 12,
#height = 650,
# tabPanel("Mundo",
# plotlyOutput("Evolucao")
# ),
# tabPanel("Brasil (Por Estado)"
# #plotlyOutput("CasosGlobais")),
# ),
# tabPanel("Brasil (Por Cidade)",
# "Em Breve")
#),
)
)
)
server <- function(input, output) {
output$plot <- renderPlotly({
BR %>%
filter(Status %in% input$Status) %>%
group_by(Data, Pais, Status) %>%
summarise(Núm = sum(Núm, na.rm = FALSE)) %>%
ggplot(aes(x = Data, y = Núm, color = Status, pch = Status)) +
geom_point() +
geom_line() +
ylab("Número") +
labs(title = paste("Número de", if_else("Casos" %in% input$Status && "Mortes" %in% input$Status, "Casos e Mortes", if_else("Casos" %in% input$Status, "Casos", "Mortes")))) +
ylim(0,10000) +
scale_x_date(date_breaks = "3 days") +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) -> pTY
ggplotly(pTY, tooltip = c("Data", "Núm"), dynamicTicks = TRUE) %>%
rangeslider() %>%
layout(hovermode = "x",
legend = list(x = 0.1, y = 0.9),
yaxis = list(autorange = FALSE),
annotations = list(x = 1, y = -0.35,
text = paste("Atualizado em", att, "-", "Fonte: Ministério da Saúde"),
showarrow = F, xref='paper', yref='paper', xanchor='right',
yanchor='auto', xshift=0, yshift=0, font=list(size=8, color="black"))
)
})
{other outputs}
}
shinyApp(ui, server)