在R Shiny中创建HTML表

伊姆兰普

下面是在记事本中创建的表(使用HTML)。我需要使用标记功能在R Shiny中复制相同的内容。我知道我们可以在R Shiny中填充没有标签的表格。但是,请问我们如何使用R Shiny中的html标签创建此表?我的意思是像下面的示例。HTML和CSS专家谁能在这里帮助我?

样品

tags$table(tags$thead("Head", tags$tr.........)))

在此处输入图片说明

罗弗先生

由于您尚未提供构成该表的HTML代码,因此我亲自复制了该表:

<table border = "5">
  <thead>
    <tr>
      <th colspan="2" height = "100" width = "800">TABLE TITLE</th>
    </tr>
  </thead>
  <tbody>
    <tr>
        <style>
        tr:nth-child(1) { border: solid thick; }
        </style>
      <td align = "center"><strong>Column A</strong></td>
      <td align = "center"><strong>Column B</strong></td>
    </tr>
    <tr style="border: solid thick">
      <td align = "center"><strong>Data 1</strong></td>
      <td align = "center"><strong>Data 2</strong></td>
  </tbody>
</table>

现在,您几乎可以按照HTML的流程将其直接转换为R代码,而无需将样式标签放置在一个函数调用中。

  tags$head(tags$table(border = 5, 
                       tags$thead(
                         tags$tr(
                           tags$th(colspan = 2, height = 100, width = 800, 
                                   align = "center", "TABLE TITLE")
                           )
                       ), 
                       tags$tbody(
                         tags$tr(
                           tags$td(align = "center", strong("Column A")),
                           tags$td(align = "center", strong("Column B"))
                         ),
                         tags$tr(
                           tags$td(align = "center", "Data 1"),
                           tags$td(align = "center", "Data 2")
                         )
                       )
  )
  )

其中<对应于(,同样</对应于)如果在关闭前一个标签之前打开了新标签,即在open内<放置一个新标签最终的输出还是HTML代码,因此请继续尝试直到输出与您拥有的HTML匹配。tags$...tags$...

但是,由于它具有其他样式,因此需要花费相当多的CSS才能进入决赛桌。我们使用一次tags$head(tags$style())调用将所有CSS代码放在一个地方以提高可读性。

  tags$head(tags$style(

  'thead {
    display: table-header-group;
    vertical-align: middle;
    border-color: inherit;
  }

    tr:nth-child(1) {
      border: solid thick;
    }

    tr:nth-child(2) {
      border: solid thick;
    }

    th {
      text-align: center
      ;
      }

   td, th {
    outline: none;
   }

    table { 
      display: table;
      border-collapse: separate;
      white-space: normal;
      line-height: normal;
      font-family: times-new-roman;
      font-weight: normal;
      font-size: medium;
      font-style: normal;
      color: -internal-quirk-inherit;
      text-align: start;
      border-spacing: 2px;
      border-color: grey;
      font-variant: normal;
    }  

    td {
      display: table-cell;
      vertical-align: inherit;
    }

    tr {
      display: table-row;
      vertical-align: inherit;
    }




  '

  ))

如果您具有要复制的源代码,则可以在浏览器中使用inspect元素来获取CSS代码。如果没有,您将需要一些外部资源(例如Stackoverflow,WS3学校,JSfiddle等)来获得最终的Web应用程序。

将所有内容整合到一个闪亮的应用程序中:

library(shiny)

ui <- fluidPage(

  tags$head(tags$style(

  'thead {
    display: table-header-group;
    vertical-align: middle;
    border-color: inherit;
  }

    tr:nth-child(1) {
      border: solid thick;
    }

    tr:nth-child(2) {
      border: solid thick;
    }

    th {
      text-align: center
      ;
      }

   td, th {
    outline: none;
   }

    table { 
      display: table;
      border-collapse: separate;
      white-space: normal;
      line-height: normal;
      font-family: times-new-roman;
      font-weight: normal;
      font-size: medium;
      font-style: normal;
      color: -internal-quirk-inherit;
      text-align: start;
      border-spacing: 2px;
      border-color: grey;
      font-variant: normal;
    }  

    td {
      display: table-cell;
      vertical-align: inherit;
    }

    tr {
      display: table-row;
      vertical-align: inherit;
    }




  '

  )),

  tags$head(tags$table(border = 5, 
                       tags$thead(
                         tags$tr(
                           tags$th(colspan = 2, height = 100, width = 800, 
                                   align = "center", "TABLE TITLE")
                           )
                       ), 
                       tags$tbody(
                         tags$tr(
                           tags$td(align = "center", strong("Column A")),
                           tags$td(align = "center", strong("Column B"))
                         ),
                         tags$tr(
                           tags$td(align = "center", "Data 1"),
                           tags$td(align = "center", "Data 2")
                         )
                       )
  )
  )
)


server <- function(input, output, session) {

}

shinyApp(ui, server)

这使:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用tab_model函数在R中创建html表

来自分类Dev

如何在R中创建动态HTML表

来自分类Dev

在R Shiny中创建逻辑回归

来自分类Dev

R Shiny:renderUI中的表条件格式

来自分类Dev

R Shiny:renderUI中的表条件格式

来自分类Dev

在R中创建频率表

来自分类Dev

R Shiny:根据动态创建的输入的输出生成表

来自分类Dev

使用 R 中的 html 表创建滚动天数和月度表

来自分类Dev

R Shiny:如何为通过HTML创建的actionButton提供inputID

来自分类Dev

R Shiny:如何为通过HTML创建的actionButton提供inputID

来自分类Dev

如何在R Shiny中使用sjPlot报告html表?

来自分类Dev

读取R中的html表

来自分类Dev

在R中的频率表中创建间隔

来自分类Dev

R-使用xtable或kable创建的HTML表中的条件行突出显示

来自分类Dev

更新R Shiny中动态创建的selectInput框的选择

来自分类Dev

从循环中创建单选按钮并在 R Shiny 中全选

来自分类Dev

如何在 R Shiny App 中创建可变超链接

来自分类Dev

从R中的标签列表创建表

来自分类Dev

在R中创建对称频率表

来自分类Dev

如何在R中创建表

来自分类Dev

利用glm概率在R中创建表

来自分类Dev

从R中的长表创建对称矩阵

来自分类Dev

从R中的不同数据帧创建表

来自分类Dev

从R中的csv创建列联表

来自分类Dev

在 R 中创建多个变量的结果表

来自分类Dev

R Shiny中的渐变彩色数据表行

来自分类Dev

基于R Shiny中基于用户输入的表作为输出

来自分类Dev

使用R Shiny中的actionButton附加行以更新新表

来自分类Dev

在R Shiny中链接外部CSS样式表