R :: flexdashboard中的DT :: datatable

问题描述 投票:0回答:1
 Household Size    0       1          2        3        4        5+
                 Bedrooms Bedrooms Bedrooms Bedrooms Bedrooms Bedrooms
       1          253   4486        2033     930        105      8
       2          10    666         3703     947        85       7
       3           4    68          1972     1621       52       5
       4           1    12           680     1835       164      11
      5+           0    6            147     1230       721      122

我有上面的数据框,其中'Bedrooms'是列上的标签。

我正在尝试将其更改为数据表,然后我可以在rmarkdown中使用以添加到flexdashboard中。当我使用以下代码时:

DT::datatable(df, rownames = FALSE, extensions = 'FixedColumns', escape=TRUE,options= list(bPaginate = FALSE))

我得到输出:

Household Size         0    1      2       3     4        5+
1                    253    4486  2033    930   105       8
2                     10    666   3703    947   85        7
3                      4    68    1972    1621  52        5
4                      1    12     680    1835  164       11
5+                     0    6      147    1230  721       122

我有一些问题:

  1. 说“卧室”的标签没有显示,所以无法知道列中这些数字的实际含义。我想要包含标签或在列名称顶部有一行,其中包含覆盖所有行的“卧室数量”?
  2. 家庭大小和5+列的宽度比其他列宽,我希望它们相同或家庭大小略大于其他列

我认为值得注意的是,第5行和第5列都是一个新的行/列,可以计算任何高于5的值。

此外,这只是一个额外的,但我想将左下角的单元格颜色为红色,右上角的单元格为绿色,这可能吗?

r datatable formatting dt flexdashboard
1个回答
1
投票

我已经想出如何在列标题中保留“卧室”。可以使用下面的代码在DT :: datatable中设置列名;

DT::datatable(HS_BED_ALL, rownames = FALSE, colnames=c('Household Size','0 Bedrooms','1 Bedroom','2 Bedrooms','3 Bedrooms','4 Bedrooms','5+ Bedrooms'), extensions = 'FixedColumns', escape=TRUE, options= list(bPaginate = FALSE, dom = 't',buttons = c('excel')))%>%formatStyle(1:7,fontSize = '14px')

这给出了所需的输出。

© www.soinside.com 2019 - 2024. All rights reserved.