Ich versuche eine ähnliche App zu diesem Shiny: dynamische Dataframe Konstruktion; renderUI, beobachte, reactiveValues. Ich möchte eine Option erstellen, um beispielsweise die Anzahl der Zylinder in der Liste auszuwählen. Damit wird die Tabelle nach Auswahl der Nummer automatisch aktualisiert. Könnte mir jemand erklären, was ich falsch mache? Wie Sie auf dem Grafikprogramm sehen können, funktioniert das nicht gut. R Shiny: eventReactive und renderUI Interaktion
Mein Code:
ui:
library(shiny)
hw <- mtcars
shinyUI(fluidPage(
title = 'Examples of DataTables',
sidebarLayout(
sidebarPanel(
radioButtons(
inputId="radio",
label="Variable Selection Type:",
choices=list(
"All",
"Manual Select"
),
selected="All"),
conditionalPanel(
condition = "input.radio != 'All'",
selectizeInput(
'show_vars',
'Columns in cars to show:',
choices=names(hw),
selected = names(hw),
multiple =TRUE),
uiOutput("category1")
)
),
mainPanel(
verbatimTextOutput("summary"),
tabsetPanel(
id = 'dataset',
tabPanel('hw', dataTableOutput('mytable1'))
)
)
)
))
Server:
library(shiny)
library(ggplot2)
shinyServer(function(input, output) {
Data <- reactive({
if(input$radio == "All"){
hw
} else {
hw[,input$show_vars,drop=FALSE]
}
})
output$category1 <- renderUI({
selectizeInput('cat1', 'Select cyl:', choices = c("All",sort(as.character(unique(hw$cyl)))),selected = "All")
})
df_subset <- eventReactive(input$cat1,{
if(input$cat1=="All") {df_subset <- hw}
else{df_subset <- hw[hw$Position == input$cat1,]}
})
output$mytable1 <- renderDataTable({
df_subset()
hw[, input$show_vars, drop = FALSE]
})
})
Ok, aber wie ich concect das zu meinem Code, weil es das schafft das größte Problem für mich. Du könntest mir helfen? – Kim
Es kann gut sein, "+1" für die Antwort mindestens so zu erhalten, wie ich gemacht habe: – andrii
Danke. Sie können meinen Code aufgrund Ihrer Aufgabe erweitern, indem Sie neue Benutzeroberflächenelemente hinzufügen – andrii