与表名交叉的RMarkdown中的精美打印

时间:2018-06-06 22:17:11

标签: r rstudio r-markdown crosstab kable

为了简单起见,我以一个例子提出我的问题:

假设我在R Markdown文件的块中有一个数据框,如下所示:

x <- c(1,NA,1,NA,NA,1,2)
y <- c(0,2,0,2,2,0,NA)
df <- data.frame(x=x,y=y)

如果我使用指令

跨越RStudio控制台中的列
with(df,table(x,y,useNA = "ifany"))

我得到像

这样的东西
  y
x  0 2 NA
 1 3 0 0
 2 0 0 1
NA 0 3 0

如果我用这个表编织Rmd文件,它会以一种不太好的方式打印(带有起始行符号##等等)。我试图通过两种方式获得更好的打印效果:

首先,使用kable:kable(with(df,table(x,y,useNA = "ifany")))。此解决方案的问题是,不会以类似的方式显示名称xy。是否有某种方法可以使kable显示以与原始表格类似的方式划分的名称,即放置在相应类别附近?

第二种方式,不使用kable,而是添加chunk选项results='asis'。然后,所有表格都打印在一个唯一的行中。

我还尝试使用pander代替kable,但后来收到错误(Error in if (!has.rownames(df)) { : missing value where TRUE/FALSE needed)。

你能帮帮我吗?比你提前多了!

0 个答案:

没有答案