繁体   English   中英

在 renderUI R Z3E751ABE1B5D7A735C68CF279

[英]Render dataframe column values as html in renderUI R Shiny

我在 dataframe 列中有可变数量的值,我想将其呈现为 html 作为我的 renderUI 的一部分,我该怎么做?

因此,如果我的列只包含一行,我只想渲染“第 1 行”,但如果它有两个或更多,我希望它渲染所有这些。

这是一些示例代码。 我尝试使用循环,但它不起作用。

library(shiny)
library(tidyverse)
dat <- data.frame(x = c("line 1", "line 2", "line 3"))

ui <- fluidPage(

    uiOutput("lines")
)


server <- function(input, output) {
  output$lines <- renderUI({
    div(
      h2("Lines: "),
      dat$x
    )
  })
    
}


shinyApp(ui = ui, server = server)

一种选择是将 dataframe 列的元素作为列表传递。 为此,您可以使用lapply循环遍历您的向量。 请注意,我将每个元素包装在p标签内,以便将线条绘制在单独的线条上:

library(shiny)

dat <- data.frame(x = c("line 1", "line 2", "line 3"))

ui <- fluidPage(
  uiOutput("lines")
)

server <- function(input, output) {
  output$lines <- renderUI({
      div(
        h2("Lines: "),
        lapply(dat$x, function(x) p(x))
    )
  })
}

shinyApp(ui = ui, server = server)
#> 
#> Listening on http://127.0.0.1:3165

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM