Ich versuche eine Anwendung in RShiny zu entwickeln. Mein Ziel: Eine Anwendung, die logistische Regression durchführen und die Ausgabe anzeigen kann.Logistische Regression durch R Shiny
Schritte:
- Benutzer wird die CSV (1. TAB)
- Benutzer wählen Sie die unabhängige Variable (2. TAB)
- Benutzer Wählen Sie die anderen Variablen (2. TAB)
- Mainpanel laden in 2. TAB zeigt die Zusammenfassung der logistischen Regression an.
Mein Code:
library(shiny)
ui<-navbarPage("Model Developement by Subhasish",
tabPanel("Data Import",sidebarLayout(sidebarPanel(fileInput("file","Upload your CSV",multiple = FALSE),
tags$hr(),
h5(helpText("Select the read.table parameters below")),
checkboxInput(inputId = 'header', label = 'Header', value = FALSE),
checkboxInput(inputId = "stringAsFactors", "stringAsFactors", FALSE),
radioButtons(inputId = 'sep', label = 'Separator', choices = c(Comma=',',Semicolon=';',Tab='\t', Space=''), selected = ',')
),
mainPanel(uiOutput("tb1"))
)),
tabPanel("Model_dev",sidebarLayout(sidebarPanel(uiOutput("model_select"),uiOutput("var1_select"),uiOutput("rest_var_select")),mainPanel(helpText("Your Selected variables"),verbatimTextOutput("other_val_show"))))
)
server<-function(input,output) { data <- reactive({
file1 <- input$file
if(is.null(file1)){return()}
read.table(file=file1$datapath, sep=input$sep, header = input$header, stringsAsFactors = input$stringAsFactors)
})
output$table <- renderTable({
if(is.null(data())){return()}
data()
})
output$tb1 <- renderUI({
tableOutput("table")
})
output$model_select<-renderUI({
selectInput("modelselect","Select Algo",choices = c("Logistic_reg"="logreg","SVM"="svm"))
})
output$var1_select<-renderUI({
selectInput("ind_var_select","Select Independent Var", choices =as.list(names(data())),multiple = FALSE)
})
output$rest_var_select<-renderUI({
checkboxGroupInput("other_var_select","Select other Var",choices =as.list(names(data())))
})
output$other_val_show<-renderPrint({
input$other_var_select
#f<-data()
#library(caret)
#logreg<-glm(f[,1]~.,family = binomial,data=f)
#summary(logreg)
})
}
shinyApp(ui=ui,server=server)
Bis jetzt Das CSV Upoload Teil abgeschlossen ist. Problem konfrontiert als Glm() Funktion req Struktur wie: Glm (var 1 ~ var 2 + var 3+ var 4, Familie = binomial, Daten = df)
Wie kann ich die Kontrollkästchen Werte wie var 2+ var 3..? Ich benutze Shiny R von der letzten 1 Woche. Es könnte also eine einfachere Lösung geben, die ich nicht entdecken kann.
Vielen Dank im Voraus
Hatte eine vorläufige Antwort, aber ich habe es geändert. Das ist wahrscheinlich das, was du willst. –