r - 在rmarkdown中用kable打印一个因子的频率表

标签 r knitr r-markdown pander

我在 R 中有一个因子,它由 a、b 和 c 级组成。数据由 2 个 a、1 个 b 和无 c 组成。我想得到这样的输出(元素的频率根据级别):

fac <- factor(c("a", "b", "a"), levels=c("a", "b", "c"))
tbl <- table(fac)
tbl

## fac
## a b c 
## 2 1 0

这应该用 knitr/kable 打印在一个漂亮的 html 表中:
library(knitr)
kable(tbl)

但是这里出现了错误:
"Error in dn[[2L]] : subscript out of bounds".

我假设表的dimnames有问题:
attributes(tbl)
## $dim
## [1] 3
## 
## $dimnames
## $dimnames$fac
## [1] "a" "b" "c"
## 
## 
## $class
## [1] "table"

是否有任何选项可以“修复” kable 的点名?我只想打印这个“简单”的表格——也许我被一些简单的东西困住了?

此处描述了“表”与因子的用法:http://www.stat.berkeley.edu/~s133/factors.html

最近几天我读了很多关于“pander”包的信息。如果我用 pander 打印表格,它会起作用。为什么?我应该切换到pander吗?
pander(tbl)

最佳答案

你可以试试

> kable(t(as.matrix(tbl)))
#
#|  a|  b|  c|
#|--:|--:|--:|
#|  2|  1|  0|

关于r - 在rmarkdown中用kable打印一个因子的频率表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31007915/

相关文章:

r - 我如何 “flush”数据到我的RSQLite磁盘数据库?

r - Rmarkdown 文档中的源嵌套 R 文件

r - 你如何在 rmarkdown pdf 输出中为单元格着色

r - 在 Rmarkdown HTML 输出中抑制来自 RStan 的正在运行的消息

删除某些因子水平的图例条目

r - 库错误(qdap): there is no package called ‘qdap’

r - 防止简短的评论包含在 R Markdown/knitr 输出中

一起运行 R Markdown (check.Rmd ) 和 R knit (test.Rnw ) 文件

r - 如何根据用户输入打印不同的数据框? Rmarkdown/ Shiny

r - 如何使用 rdplot 绘制带有置信区间的回归不连续图?