Hola,

Quería preguntar si alguien sabe cómo se puede utilizar el resultado de 
modificar una tabla con el argumento editable = TRUE de datatable, para 
actualizar una segunda tabla. Adjunto un código de ejemplo y lo copio también 
aquí abajo. 

Lo que yo querría por ejemplo es poner en la columna 'replacements' de la tab1 
los valores 1 y 2 (clicando en las celdas de esa columna y escribiendo a mano 
ese valor, gracias a editable = TRUE) y que en la tab2 aparecieran esos valores 
cambiados.

He encontrado este enlace con la misma idea

https://stackoverflow.com/questions/31744300/using-the-values-of-rendered-datatable-in-later-analysis

pero no sé llevar a cabo los procedimientos que se comentan en la respuesta.

Gracias de antemano.

Saludos,

Guillermo

----

library(shiny)
library(DT)
library(dplyr)

ui <- fluidPage(
  sidebarLayout(
    sidebarPanel(
      h4("App para sustituir valores. A partir de sustituir valores en la tabla 
de arriba, el 
         objetivo es actualizar la tabla de abajo."),
    ),
    mainPanel(
      dataTableOutput("tab1"),
      br(),
      dataTableOutput("tab2")
    )
  )
)

server <- function(input, output) {
  
  output$tab1 <- renderDataTable({
    df1 <- data.frame(values_to_replace = c("A+", "B-")) %>%
      mutate(replacements = NA)
    
    datatable(df1, rownames = FALSE, editable = TRUE)
  })
  
  output$tab2 <- renderDataTable({
    df1 <- data.frame(observations = c("A+", "B-", 1, 5, "B-", 7, "A+", "B-"))
    
    vals_orig <- c("A+", "B-")
    #vals_repl <- df1$replacements # ESTO ES LO QUE DEBE VENIR DE tab.
    vals_repl <- c(10, 20)
    
    df2 <- df1 %>%
      mutate(observations_repl = plyr::mapvalues(observations, from = 
vals_orig, to = vals_repl))
    
    datatable(df2, rownames = FALSE)
  })
}

shinyApp(ui, server)

Attachment: app_example_data_replacement.R
Description: Binary data

_______________________________________________
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es

Responder a