在 rmarkdown 中用 kable 打印一个因子的频率 table
Print a frequency table of a factor with kable in rmarkdown
我在 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 table:
library(knitr)
kable(tbl)
但是错误来了:
"Error in dn[[2L]] : subscript out of bounds".
我假设 table:
的 dimnames 有问题
attributes(tbl)
## $dim
## [1] 3
##
## $dimnames
## $dimnames$fac
## [1] "a" "b" "c"
##
##
## $class
## [1] "table"
是否有 "repair" kable dimnames 的选项?我只想打印这个 "simple" table - 也许我遇到了一些简单的问题?
此处描述了 "table" 与因子的用法:http://www.stat.berkeley.edu/~s133/factors.html
最近几天我阅读了很多关于'pander'-包的内容。如果我用 pander 打印 table,它就可以工作。为什么?我应该改用 pander 吗?
pander(tbl)
你可以试试
> kable(t(as.matrix(tbl)))
#
#| a| b| c|
#|--:|--:|--:|
#| 2| 1| 0|
我在 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 table:
library(knitr)
kable(tbl)
但是错误来了:
"Error in dn[[2L]] : subscript out of bounds".
我假设 table:
的 dimnames 有问题attributes(tbl)
## $dim
## [1] 3
##
## $dimnames
## $dimnames$fac
## [1] "a" "b" "c"
##
##
## $class
## [1] "table"
是否有 "repair" kable dimnames 的选项?我只想打印这个 "simple" table - 也许我遇到了一些简单的问题?
此处描述了 "table" 与因子的用法:http://www.stat.berkeley.edu/~s133/factors.html
最近几天我阅读了很多关于'pander'-包的内容。如果我用 pander 打印 table,它就可以工作。为什么?我应该改用 pander 吗?
pander(tbl)
你可以试试
> kable(t(as.matrix(tbl)))
#
#| a| b| c|
#|--:|--:|--:|
#| 2| 1| 0|