Ich entwickle eine Shiny-Anwendung, damit Benutzer abhängige/unabhängige Variablen bei Bedarf auswählen können. Führen Sie dann C5.0 aus, um eine Zusammenfassung und ein Baumdiagramm zu erstellen. Es gab jedoch eine Fehlermeldung beim Generieren des Diagramms. Kennt jemand die Lösung? finden freundlicherweise den Code:Zeichnen eines dynamischen C5.0-Entscheidungsbaums in Shiny
library(shiny)
ui <- fluidPage(
titlePanel('Plotting Decision Tree'),
sidebarLayout(
sidebarPanel(
h3('iris data'),
uiOutput('choose_y'),
uiOutput('choose_x'),
actionButton('c50', label = 'Generate C5.0 summary and plot')
),
mainPanel(
verbatimTextOutput('tree_summary'),
plotOutput('tree_plot_c50')
)
)
)
# server.R
library(shiny)
library(C50)
server <- function(input, output) {
output$choose_y <- renderUI({
is_factor <- sapply(iris, FUN = is.factor)
y_choices <- names(iris)[is_factor]
selectInput('choose_y', label = 'Choose Target Variable', choices = y_choices)
})
output$choose_x <- renderUI({
x_choices <- names(iris)[!names(iris) %in% input$choose_y]
checkboxGroupInput('choose_x', label = 'Choose Predictors', choices = x_choices)
})
observeEvent(input$c50, {
c50_fit <- C5.0(as.formula(paste(isolate(input$choose_y), '~', paste(isolate(input$choose_x), collapse = '+'))), data = iris)
output$tree_summary <- renderPrint(summary(c50_fit))
output$tree_plot_c50 <- renderPlot({
plot(c50_fit)
})
})
}
shinyApp(ui, server)
Super Lösung, und so ist die Erklärung! Danke vielmals! – tonykuoyj
Zusätzliche Frage: Was ist, wenn meine Irisdaten ein reactiveValues-Objekt sind? Sagen wir: 'react_vals <- reactiveValues (data = NULL)' 'react_vals $ data <- iris', die' plot' Methode schlägt fehl, wenn ich 'iris' in ein reactiveValues Objekt umgewandelt habe. – tonykuoyj
Scheint nicht wie eine Frage mit einer Einzeiler-Lösung, Sie sollten eine neue Frage mit einem minimalen Beispiel öffnen. –