当前位置:  开发笔记 > 前端 > 正文

在knitr或pander输出中保持表格的dimnames?

如何解决《在knitr或pander输出中保持表格的dimnames?》经验,为你挑选了1个好方法。

我正在使用knit::kable和打印频率表pander::pandoc,并且通常这适用于HTML/Word/LaTeX输出.但有时我想在最终产品中保留尺寸名称.不幸的是,panderknitr转化为降价时,删除这些.

# create a simple table
tab <- table(mtcars$gear, mtcars$carb)

# add dimension names
names(dimnames(tab)) <- c("gear", "carb")

这会创建一个表:

    carb
gear 1 2 3 4 6 8
   3 3 4 3 5 0 0
   4 4 4 0 4 0 0
   5 0 2 0 1 1 1

但是现在,如果我们打印,例如,kable:

> kable(tab)

|   |  1|  2|  3|  4|  6|  8|
|:--|--:|--:|--:|--:|--:|--:|
|3  |  3|  4|  3|  5|  0|  0|
|4  |  4|  4|  0|  4|  0|  0|
|5  |  0|  2|  0|  1|  1|  1|

没有尺寸名称!(?kable并不表示任何包含它们的选项.)

有关保存这些工具的工具的任何建议吗?我注意到了descr:CrossTable这个诀窍,但包含了我想省略的大量额外信息.

非常感谢.



1> daroczig..:

您可以使用eg ftable来隐式创建具有维度名称的平面列联表:

> pander::pander(ftable(tab))

---- ---- - - - - - -
     carb 1 2 3 4 6 8

gear                 

 3        3 4 3 5 0 0

 4        4 4 0 4 0 0

 5        0 2 0 1 1 1
---- ---- - - - - - -

或者你也可以抑制不需要的细胞,descr::CrossTable例如:

> pander(descr::CrossTable(tab, prop.r = FALSE, prop.c = FALSE, prop.chisq = FALSE))

------------------------------------------------------------------------------
  \   carb\     \    \    \    \    \    \ 
  gear       1         2         3         4         6         8       Total  
--------- -------- --------- --------- --------- --------- --------- ---------
 **3**\    \   \    \    \    \    \    \  
   N\       3\       4\        3\        5\        0\        0\         15\   
Total(%)   9.375%   12.500%   9.375%    15.625%   0.000%    0.000%            

 **4**\    \   \    \    \    \    \    \  
   N\       4\       4\        0\        4\        0\        0\         12\   
Total(%)  12.500%   12.500%   0.000%    12.500%   0.000%    0.000%            

 **5**\    \   \    \    \    \    \    \  
   N\       0\       2\        0\        1\        1\        1\         5\    
Total(%)   0.000%   6.250%    0.000%    3.125%    3.125%    3.125%            

  Total      7        10         3        10         1         1        32    
------------------------------------------------------------------------------

或者在GH上提交一张票:)

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有