Rmarkdown中的双向频率表

时间:2017-07-25 16:03:16

标签: r knitr r-markdown contingency

我可以用什么方式在Rmarkdown中构建双向频率表? 类似的东西:

this

我尝试使用knitr包中的kable函数和DT包中的datable函数,但没有一个给我所需的结果。

更新: 带有示例的可重现代码。

a <- sample(x = c(1,2,3), size = 1000, replace = T)
b <- sample(x = c('a', 'b', 'c'), size = 1000, replace = T)

df <- data.frame(vertical_title = a, horitzontal_title = b)

table(df)

              horitzontal_title
vertical_title   a   b   c
             1 118  98 106
             2 106  95 121
             3 128 114 114

我想&#39; vertical_title&#39;和&#39; horizo​​ntal_title&#39;在Rmarkdown中可以看到我的桌子。

1 个答案:

答案 0 :(得分:0)

您可以按如下方式构建表:

---
title: Example 1
output: pdf_document
---

### This is a test

```{r,results='asis',echo=FALSE}

library(xtable)
a <- sample(x = c(1,2,3), size = 1000, replace = T)
b <- sample(x = c('a', 'b', 'c'), size = 1000, replace = T)

df <- data.frame(vertical_title = a, horitzontal_title = b)
df <- as.data.frame.matrix(table(df)) 


print(xtable(df,
            align = "|l|rrr|",
            caption = "Test"),
      caption.placement = 'top',
      comment = F,
      scalebox=1,
      include.rownames = T,
      hline.after = c(-1,0,nrow(df)),
      vline.after = c(1),
      format.args=list(big.mark = ",", decimal.mark = "."))


```

请点击此处了解为标题添加多列和多行的方法:

R package xtable, how to create a latextable with multiple rows and columns from R

希望这有帮助!