ventana una son restaurar puedo minimizar maximizar los funcion cuales comando cerrar botones boton aparecen r shiny uploading

una - no me aparecen los botones de cerrar minimizar y maximizar



Brillante: Mostrar botones solo después de que se haya cargado el archivo (2)

Estoy experimentando con Shiny y me encanta. Creé una pequeña aplicación donde los estudiantes cargan un archivo csv y luego eligen variables dependientes y variables independientes y luego R calcula una regresión lineal. Funciona bien. Lo he subido a:

http://carlosq.shinyapps.io/Regresion

[Puede usar este archivo para probarlo si lo desea. "cerveza" es la variable dependiente y el resto de las variables excepto "id" son las independientes]

Aquí está server.R:

# server.R library(shiny) shinyServer(function(input, output) { filedata <- reactive({ infile <- input$file1 if (is.null(infile)){ return(NULL) } read.csv(infile$datapath) }) output$dependent <- renderUI({ df <- filedata() if (is.null(df)) return(NULL) items=names(df) names(items)=items selectInput("dependent","Select ONE variable as dependent variable from:",items) }) output$independents <- renderUI({ df <- filedata() if (is.null(df)) return(NULL) items=names(df) names(items)=items selectInput("independents","Select ONE or MANY independent variables from:",items,multiple=TRUE) }) output$contents <- renderPrint({ input$action isolate({ df <- filedata() if (is.null(df)) return(NULL) fmla <- as.formula(paste(input$dependent," ~ ",paste(input$independents,collapse="+"))) summary(lm(fmla,data=df)) }) }) })

Y aquí está el ui.R:

# ui.R library(shiny) shinyUI(fluidPage( titlePanel("Multiple Linear Regression"), sidebarLayout( sidebarPanel( fileInput(''file1'', ''Choose CSV File'', accept=c(''text/csv'', ''text/comma-separated-values,text/plain'', ''.csv'')), tags$hr(), uiOutput("dependent"), uiOutput("independents"), tags$hr(), actionButton("action", "Press after reading file and selecting variables") ), mainPanel( verbatimTextOutput(''contents'') ) ) ))

Mi pregunta es: quiero que el botón "Presionar después de leer el archivo y seleccionar variables" aparezca como condicional en una carga exitosa.

He tratado de usar la sugerencia aquí contenida:

Haga que conditionalPanel dependa de los archivos cargados con fileInput

Pero simplemente no puedo hacer que funcione.

Aprecio cualquier ayuda.


Aquí está ShinyApp y la versión final de ui.R y server.R basadas en todas las sugerencias proporcionadas por Marat.

Primero el ui.R

# ui.R library(shiny) shinyUI(fluidPage( titlePanel("Multiple Linear Regression with R/Shiny"), sidebarLayout( sidebarPanel( p("Please upload a CSV formatted file with your data."), fileInput(''file1'', label=''Click button below to select the file in your computer.'', accept=c(''text/csv'', ''text/comma-separated-values,text/plain'', ''.csv'')), tags$hr(), uiOutput("dependent"), uiOutput("independents"), tags$hr(), uiOutput(''ui.action'') # instead of conditionalPanel ), mainPanel( p("Here''s the output from your regression:"), verbatimTextOutput(''contents'') ) ) ))

y servidor.R

# server.R library(shiny) shinyServer(function(input, output) { filedata <- reactive({ infile <- input$file1 if (is.null(infile)){ return(NULL) } read.csv(infile$datapath) }) output$ui.action <- renderUI({ if (is.null(filedata())) return() actionButton("action", "Run regression") }) output$dependent <- renderUI({ df <- filedata() if (is.null(df)) return(NULL) items=names(df) names(items)=items selectInput("dependent","Now select ONE variable as dependent variable from:",items) }) output$independents <- renderUI({ df <- filedata() if (is.null(df)) return(NULL) items=names(df) names(items)=items selectInput("independents","Also select ONE or MANY independent variables in the box below. You can change your selection several times:",items,multiple=TRUE) }) output$contents <- renderPrint({ if (is.null(input$action)) return() if (input$action==0) return() isolate({ df <- filedata() if (is.null(df)) return(NULL) fmla <- as.formula(paste(input$dependent," ~ ",paste(input$independents,collapse="+"))) summary(lm(fmla,data=df)) }) }) })

Una vez más, gracias por su ayuda, Marat.


Este código funcionó para mí

ui.R

# ui.R library(shiny) shinyUI(fluidPage( titlePanel("Multiple Linear Regression"), sidebarLayout( sidebarPanel( fileInput(''file1'', ''Choose CSV File'', accept=c(''text/csv'', ''text/comma-separated-values,text/plain'', ''.csv'')), tags$hr(), uiOutput("dependent"), uiOutput("independents"), tags$hr(), uiOutput(''ui.action'') # instead of conditionalPanel ), mainPanel( verbatimTextOutput(''contents'') ) ) ))

servidor.R

# server.R library(shiny) shinyServer(function(input, output) { filedata <- reactive({ infile <- input$file1 if (is.null(infile)){ return(NULL) } read.csv(infile$datapath) }) output$dependent <- renderUI({ df <- filedata() if (is.null(df)) return(NULL) items=names(df) names(items)=items selectInput("dependent","Select ONE variable as dependent variable from:",items) }) output$independents <- renderUI({ df <- filedata() if (is.null(df)) return(NULL) items=names(df) names(items)=items selectInput("independents","Select ONE or MANY independent variables from:",items,multiple=TRUE) }) output$contents <- renderPrint({ input$action isolate({ df <- filedata() if (is.null(df)) return(NULL) fmla <- as.formula(paste(input$dependent," ~ ",paste(input$independents,collapse="+"))) summary(lm(fmla,data=df)) }) }) output$ui.action <- renderUI({ if (is.null(input$file1)) return() actionButton("action", "Press after reading file and selecting variables") }) })