首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >重新排序renderUI元素R Shiny?

重新排序renderUI元素R Shiny?
EN

Stack Overflow用户
提问于 2018-08-28 05:38:29
回答 1查看 0关注 0票数 0

我现在有一个应用程序,它接收数据集,然后根据数据中的排名呈现UI。IE如果元素A具有重要性等级5,则它列在元素B之上。我希望能够通过滑动条让用户更改排名,然后按更新以在给定更新的排名信息的情况下重新呈现UI。我不知道这是否可能,但到目前为止还没有让它发挥作用。这是我的代码的最小示例:

代码语言:javascript
运行
复制
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]))


      )
    })

  })
}

我的应用程序运行并且UI第一次生成就好了,但是当我更改排名然后点击更新它似乎什么也没做。任何帮助,将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2018-08-28 15:27:03

嗨那里的人像我一样非常困难。此链接包含一个使用renderUI的工作动态ui,它将随用户输入而变化。

https://www.r-bloggers.com/dynamically-generated-shiny-ui/

我希望这对你有所帮助。祝你好运

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100002457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档