Изменение порядка элементов renderUI R Shiny - PullRequest
0 голосов
/ 27 августа 2018

У меня сейчас есть приложение, которое получает набор данных, а затем отображает пользовательский интерфейс на основе рейтинга в данных. И.Е. если элемент A имеет уровень важности 5, он перечислен выше элемента B. Я хочу, чтобы пользователь мог с помощью ползунка изменить ранжирование, а затем нажать кнопку обновления, чтобы повторно отобразить пользовательский интерфейс с учетом обновленной информации ранжирования. Я не знаю, возможно ли это, но до сих пор не заставил его работать. Вот минимальный пример моего кода:

library(shiny)
library(tidyverse)
df <- read_csv("")
df <- cd %>% arrange(desc(Rating))

ui <- 
  fluidRow(
    box(title = "Reranking",
      actionButton("refresh", "Update Results"),
      uiOutput("sliders"),
      width = 12
    )
  )
server <- function(input, output, session) {

  observeEvent(input$refresh, {
    rating <- df$Rating 
    votes <- df$Votes + 1
    for(i in nrow(challenge_df)) {
      rating[i] <- (rating[i] * votes[i] - 1 + input[[paste0("slider", i)]]) / (df$Votes[i])
    }
    df <- 
      df %>%
      mutate(
        Rating = rating,
        Votes = votes
      ) 
    df <- df %>% arrange(desc(Rating))
    return(uiOutput("sliders"))
  })
  output$sliders <- renderUI({

    slide_vars <- df$A
    text_vars <- df$B
    val_vars <- df$Rating
    splitLayout(cellWidths = c("25%", "36%", "39%"),
    sliderInput(inputId = paste0("slider", i),
      label = slide_vars[i], min = 1, max = 5, value = val_vars[i]
    ),
    actionButton(paste("tabBut", i, sep = ""), "View Details"),
    bsModal(paste("modal", i, sep = ""), title = "Detailed Text", trigger = paste("tabBut", i, sep = ""), size = "small", renderText(df$Details[i]))


      )
    })

  })
}

Мое приложение запускается, и пользовательский интерфейс в первый раз генерируется нормально, но когда я изменяю рейтинг, а затем нажимаю кнопку обновления, кажется, он ничего не делает. Любая помощь будет оценена.

EDIT:

Вот ссылка на решение, которое устранило мою проблему, так как, очевидно, я не могу ответить на свой вопрос со ссылкой. Большое спасибо там модов.

https://www.r -bloggers.com / динамически генерируемые -глянцеватые-щ /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...