R 在闪亮的应用程序中使用2个动作按钮在3个绘图之间切换
我有一个闪闪发光的R 在闪亮的应用程序中使用2个动作按钮在3个绘图之间切换,r,shiny,R,Shiny,我有一个闪闪发光的app,在它下面initialy应该显示iris数据集的绘图。如果按下Datatable,则应显示iris数据集的Datatable,如果再次按下,则应再次显示iris数据集的初始绘图。 如果按下Iris3,则应显示Iris3数据集的绘图,如果再次按下,则应再次显示iris数据集的初始绘图 library(shiny) library(DT) ui <- fluidPage( sidebarLayout( sidebarPanel(
app,在它下面initialy应该显示iris
数据集的绘图。如果按下Datatable
,则应显示iris
数据集的Datatable,如果再次按下,则应再次显示iris
数据集的初始绘图。
如果按下Iris3
,则应显示Iris3
数据集的绘图,如果再次按下,则应再次显示iris
数据集的初始绘图
library(shiny)
library(DT)
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
actionButton("exc",
"Datatable"),
actionButton("other","Iris3")
),
mainPanel(
uiOutput(outputId = "iris_plot")
)
)
)
server <- function(input, output) {
showPlot <- reactiveVal(TRUE)
showPlotiris3 <- reactiveVal(TRUE)
observeEvent(input$exc, {
showPlot(!showPlot())
})
observeEvent(input$other, {
showPlotiris3(!showPlotiris3())
})
output$iris_plot <- renderUI({
if (showPlot()){
plotOutput("plot")
}
else if(showPlotiris3()){
plotOutput("plot2")
}
else{
dataTableOutput("table")
}
})
output[["plot"]] <- renderPlot({
plot(iris)
})
output[["plot2"]] <- renderPlot({
plot(iris3)
})
output[["table"]] <- renderDataTable(datatable(iris))
}
shinyApp(ui = ui, server = server)
库(闪亮)
图书馆(DT)
ui试试这个
library(shiny)
library(DT)
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
actionButton("exc","Datatable"),
actionButton("other","Iris3")
),
mainPanel( verbatimTextOutput("t1"),
uiOutput(outputId = "iris_plot")
)
)
)
server <- function(input, output) {
store <- reactiveValues()
observe({store$plotrtable <- DTOutput("table")})
observeEvent(input$exc, {
if (as.numeric(input$exc) %% 2 == 1){store$plotrtable <- plotOutput("plot")
}else store$plotrtable <- DTOutput("table")
})
observeEvent(input$other, {
if (as.numeric(input$other) %% 2 == 1){store$plotrtable <- plotOutput("plot2")
}else store$plotrtable <- DTOutput("table")
})
output[["plot"]] <- renderPlot({
plot(iris)
})
output[["plot2"]] <- renderPlot({
plot(iris3)
})
output[["table"]] <- renderDT(datatable(iris))
output$iris_plot <- renderUI({
store$plotrtable
})
}
shinyApp(ui = ui, server = server)
库(闪亮)
图书馆(DT)
用户界面