[英]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.