update object reactivated in shiny

...Hello, I am starting in the programming r and driving shiny and would like help in my code.
I am handling reactive objects but for each part of actions I have to create a reactive object that updates the dataset data according to where it passes.

I would like to know if you can handle only one reactive file and update only in that one and not use more reactive files.
I leave my code of what I have done

UI

library(tidyverse)
library(shiny)
library(DT)
library(shiny)
a <- iris
ui <- fluidPage(
   
   tabPanel(strong("Tabla"),
            sidebarLayout(
               sidebarPanel(
                  uiOutput("uiSeleccion"),
                  downloadButton("desData1", "Guardar"),
                  hr(),
                  
                  
               ),
               mainPanel(
                  
                  dataTableOutput("tabla1")
               )#mainPanel
            )#sidebarLayout
   ),
   tabPanel(strong("Tabla"),
            sidebarLayout(
               sidebarPanel(
                  uiOutput("uimodMinimo"),
                  hr(),
                  
               ),#sidebarPanel
               mainPanel(
                  br(),
                  
                  dataTableOutput("tablaMinimo")
               )#mainPanel
            )#sidebarLayout
   ),#tabPanel
   tabPanel(strong("Tabla"),
            sidebarLayout(
               sidebarPanel(
                  uiOutput("uimodMediana"),
                  hr(),
               ),#sidebarPanel
               mainPanel(
                  br(),
                  dataTableOutput("tablaMediana")
               )#mainPanel
            )#sidebarLayout
   ),#tabPanel
)


SERVER


server <- function(input, output, session) {
   
   
   
   
   
   output$uiSeleccion <- renderUI({
      # conditionalPanel(
      #   condition = 'input.dataset === "Tabla"',
      checkboxGroupInput("variables", "Columnas del dataset para  mostrar:",
                         names(a), selected = names(a))
      #  )
   })
   
   ####------------ render archivo de seleccion
  
   archivo2 <- reactive({
      
      a[ ,input$variables, drop = F ]
   })
   

   
   ####------------ render tabla de seleccion
   
   output$tabla1 <- renderDataTable({
      
      DT::datatable(archivo2())
   })
   
   ####---------------render decargar 
   output$desData1 <- downloadHandler(
      filename = function() {
         paste("Data", ".csv", sep = "")
      },
      content = function(file) {
         write.csv(archivo2(), file, row.names = FALSE)
      }
   )
   
   ###############################MINIMO---------------------------
   output$uimodMinimo <- renderUI({
      selectInput("selecMin", "Selección de columna",
                  names(archivo2()), multiple = F)
   })
   
   ####------------ render CAMBIAR NAS POR MINIMO
   archivo4 <- reactive({
     columnaNum <- input$selecMin
     cambioNum <- min(archivo2()[,input$selecMin], na.rm=TRUE)
     if (is.null(columnaNum)) {
       return(NULL)
     }
     else{archivo2() %>%
         mutate(!!sym(columnaNum) := `[<-`(!!sym(columnaNum), replace_na(archivo2()[,columnaNum], cambioNum)))


     }
   })
   
   
   
   ####------------ render TABLA REMPLAZO
   output$tablaMinimo <- renderDataTable({
      archivo4()
   })
   
   
   
   ########################Mediana-------------------------
   
   output$uimodMediana <- renderUI({
      selectInput("selecMediana", "Selección de columna",
                  names(archivo4()), multiple = F)
   })
   
   ####------------ render CAMBIAR NAS POR SUMMARY
   
   archivo5 <- reactive({
      columnaNum <- input$selecMediana
      cambioNum <- median(archivo4()[,input$selecMediana], na.rm=TRUE)
      if (is.null(columnaNum)) {
         return(NULL)
      }
      else{
         archivo4() %>%
            mutate(!!sym(columnaNum) := `[<-`(!!sym(columnaNum), replace_na(archivo4()[,columnaNum], cambioNum)))
      }
   })
   
   ####------------ render TABLA REMPLAZO
   output$tablaMediana <- renderDataTable({
      if (is.null(archivo5())) {
         return(NULL)
      }
      archivo5()
   })
   
}

Hello Diego, I'm afraid you haven't had a quick response to your question, because what you ask is very vague. If you can phrase your enquiry more concretely, I would try to help you.

This topic was automatically closed 54 days after the last reply. New replies are no longer allowed.