if(interactive() && require(shiny)) {
library(shiny)
library(scatterPlotMatrix)
ui <- fluidPage(
checkboxInput("hideColumnsCB", "Hide last columns", FALSE),
p("The check box controls the visibility of the two last columns"),
scatterPlotMatrixOutput("spMatrix")
)
server <- function(input, output, session) {
output$spMatrix <- renderScatterPlotMatrix({
scatterPlotMatrix(iris)
})
observeEvent(input$hideColumnsCB, {
keptColumns <- vapply(
1:ncol(iris),
function(i) {
return(ifelse(input$hideColumnsCB, ncol(iris) - i >= 2, TRUE))
},
logical(1)
)
scatterPlotMatrix::setKeptColumns("spMatrix", keptColumns)
})
}
shinyApp(ui, server)
}
Run the code above in your browser using DataLab