Я пытаюсь разработать приложение в RShiny. My Objective: Приложение, которое может выполнять логистическую регрессию и отображать вывод.Логистическая регрессия через R Shiny
Шаги:
- Пользователь будет загрузить CSV (первый TAB)
- пользователя выбрать независимую переменную (второй TAB)
- пользователя Выберите другие переменные (2-й TAB)
- Mainpanel в 2nd TAB отобразит сводку логистики регрессии.
Мой код:
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)
До сих пор CSV Upoload часть завершена. Проблема, с которой столкнулась структура функции glm(), как: glm (var 1 ~ var 2 + var 3+ var 4, family = binomial, data = df)
Как использовать значения флажка, такие как var 2+ var 3 ..? Я использую Shiny R с последних 1 недели. поэтому может быть любое более легкое решение, которое я не могу обнаружить.
Заранее спасибо
Был предварительный ответ, но я изменил его. Это, вероятно, то, что вы хотите. –