首页 > 解决方案 > 使用 kable 在 rmarkdown 中生成列联表

问题描述

我正在尝试在 rmarkdonw html 文档中生成格式良好的列联表。这是代码:

---
title: "Probabilidad"
author: "Nicolás Molano Gonzalez"
date: "7 de Abril de 2020"
output:
  html_document:
  fig_caption: true
---

```{r echo=F, message = FALSE, warning =F}

library(tidyverse)
library(kableExtra)
library(knitr)

set.seed(150)

```

这是表格的数据:

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

ca_ctr_r<-.3

n   <- 250
nCA <- round(n*ca_ctr_r)
z0  <- data.frame(status=c(rep("CA",nCA),rep("CTR",n-nCA)))
z0$exposition <- NA
exp_CA  <- .45
exp_CTR <- .19

z0[z0$status %in% "CA","exposition"]  <- ifelse(runif(nCA) < exp_CA,"yes","no")
z0[z0$status %in% "CTR","exposition"] <- ifelse(runif(n-nCA) < exp_CA,"yes","no")

z0$exposition <- factor(z0$exposition,levels = c("yes","no"))

```

这是打印列联表的代码,应该改进。

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

res  <- kable(t(table(z0)%>%addmargins))
#res <- kable(t(table(z0)))
kable_styling(res,"striped", position = "center",full_width = F) %>% add_header_above(c("exposition","status"=2," "))

```

我希望代码的输出类似于基本 R 的输出,即:

          status
exposition  CA CTR Sum
       no   40  96 136
       yes  35  79 114
       Sum  75 175 250

add_header_above让我得到列的标题,但我正在努力在正确的位置获得行(展示)的标题。

标签: rr-markdownknitrkableextracontingency

解决方案


推荐阅读