微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在闪亮的仪表板中使用 for 循环内框打印文本

如何解决在闪亮的仪表板中使用 for 循环内框打印文本

我在下面有闪亮的仪表板,我想使用屏幕截图中的 "Red1" 循环在 "Red21" 框内打印到 for() 一个在另一个下面的框。 Box() 应使用 renderUI()

创建

enter image description here

library(shiny)
library(shinydashboard)
shinyApp(
  ui = dashboardPage(
    options = list(sidebarExpandOnHover = TRUE),header = dashboardHeader(),sidebar = dashboardSidebar(minified = TRUE,collapsed = TRUE),body = dashboardBody(
      uIoUtput("Box1")
    ),title = "DashboardPage"
  ),server = function(input,output) {
    output$Box1<-renderUI({

        Box(
          for(i in 1:21){
            "Red"[i]
            br()
          },height = 300,width = 5
        )
    })
  }
)

解决方法

box() 可以将列表作为第一个参数,因此您的代码可以像这样重写:

...
box({
  text <- list()
  for(i in 1:21){
    text <- append(text,list(paste("Red",i),br()))
  }
  text
})
...

使用匿名函数(这是)执行此操作对于可读性而言并不是那么好(至少对我而言),因此我建议您事先构建该列表。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。