Я создаю приложение Shiny с R shinydashboard, и я хотел бы отображать два выхода рядом, но заставить один из них опуститься ниже, если другой становится слишком большим.
Код ниже создает функциональное блестящее приложение, но если вы добавите переменные, таблица корреляции станет больше и отобразится под тепловой картой:
library(easypackages)
libraries("readxl", "tidyselect", "DT", "shiny", "treemap", "plm", "shinydashboard", "data.table", "formattable", "plotly", "FactoMineR", "factoextra")
ui <- dashboardPage(
dashboardHeader(title = "test with mtcars", titleWidth = 1000),
dashboardSidebar(
selectizeInput("var.cor", label = "Correlation",
choices = names(mtcars),
selected = c("mpg", "cyl"), multiple = TRUE)
),
dashboardBody(
tabsetPanel(
tabPanel("test with mtcars",
box(dataTableOutput("cor"),
width = 6),
box(plotlyOutput("heat"),
width = 6)
)
)
)
)
server <- function(input, output) {
var.selected <- reactive({
out <- input$var.cor
out
})
user.selection <- reactive({
mtcars <- mtcars[, var.selected()]
})
output$cor <- renderDataTable({
dtable <- user.selection()
tmp <- round(cor(dtable, use = "complete.obs", method = "pearson"), 2)
tmp
})
output$heat <- renderPlotly({
dtable <- user.selection()
tmp <- as.matrix(cor(dtable, use = "complete.obs", method = "pearson"))
plot_ly(x = rownames(tmp), y = colnames(tmp), z = tmp, type = "heatmap", color = I("red"))
})
}
shinyApp(ui, server)
Можно ли автоматически отображать тепловую карту под таблицей корреляции, когда последняя становится слишком большой, при одновременном сохранении двух выходов рядом друг с другом, когда они совмещаются?