从 TableOne 在 R markdown 中创建格式化的 table
Create formatted table in R markdown from TableOne
我创建了以下代码:
df <- data.frame(age = round(runif(100, min = 1, max = 80)),
bmi = round(runif(100, min = 19, max = 30)),
amount = round(runif(100, min = 10, max = 10000)),
stringsAsFactors = FALSE)
tableone = CreateTableOne(data = df)
tableone
现在我想将它包含在 Markdown 中并使用某种 ktable 函数生成格式化的 table 但显然它仅适用于数据框和我的变量“tableone" 似乎是一个列表 - 对吗?
是否可以将“tableone”的输出格式化为 table?
谢谢!
我找到了这个解决方法,也许它有帮助:
library(tableone)
library(kableExtra)
df <- data.frame(age = round(runif(100, min = 1, max = 80)),
bmi = round(runif(100, min = 19, max = 30)),
amount = round(runif(100, min = 10, max = 10000)),
stringsAsFactors = FALSE)
tb <- CreateTableOne(data = df)
k <- print(tb$ContTable)
print(tb$ContTable) %>%
kbl() %>%
kable_paper("hover", full_width = F)
这导致:
但是函数 print()
也会在你的控制台中打印结果,所以在 markdown 中,你也会有这个:
所以你可以欺骗它,分割打印部分并抑制输出,然后在两个不同的块中打印 kable table:
---
title: "tableone"
author: "S__"
date: "17/8/2021"
output: html_document
---
```{r a echo=FALSE,warning=FALSE,message=FALSE,error=FALSE, results = 'hide'}
library(tableone)
library(kableExtra)
df <- data.frame(age = round(runif(100, min = 1, max = 80)),
bmi = round(runif(100, min = 19, max = 30)),
amount = round(runif(100, min = 10, max = 10000)),
stringsAsFactors = FALSE)
tb <- CreateTableOne(data = df)
k <- print(tb$ContTable)
```
```{r b, echo=FALSE}
k %>%
kbl() %>%
kable_paper("hover", full_width = F)
```
我创建了以下代码:
df <- data.frame(age = round(runif(100, min = 1, max = 80)),
bmi = round(runif(100, min = 19, max = 30)),
amount = round(runif(100, min = 10, max = 10000)),
stringsAsFactors = FALSE)
tableone = CreateTableOne(data = df)
tableone
现在我想将它包含在 Markdown 中并使用某种 ktable 函数生成格式化的 table 但显然它仅适用于数据框和我的变量“tableone" 似乎是一个列表 - 对吗?
是否可以将“tableone”的输出格式化为 table?
谢谢!
我找到了这个解决方法,也许它有帮助:
library(tableone)
library(kableExtra)
df <- data.frame(age = round(runif(100, min = 1, max = 80)),
bmi = round(runif(100, min = 19, max = 30)),
amount = round(runif(100, min = 10, max = 10000)),
stringsAsFactors = FALSE)
tb <- CreateTableOne(data = df)
k <- print(tb$ContTable)
print(tb$ContTable) %>%
kbl() %>%
kable_paper("hover", full_width = F)
这导致:
但是函数 print()
也会在你的控制台中打印结果,所以在 markdown 中,你也会有这个:
所以你可以欺骗它,分割打印部分并抑制输出,然后在两个不同的块中打印 kable table:
---
title: "tableone"
author: "S__"
date: "17/8/2021"
output: html_document
---
```{r a echo=FALSE,warning=FALSE,message=FALSE,error=FALSE, results = 'hide'}
library(tableone)
library(kableExtra)
df <- data.frame(age = round(runif(100, min = 1, max = 80)),
bmi = round(runif(100, min = 19, max = 30)),
amount = round(runif(100, min = 10, max = 10000)),
stringsAsFactors = FALSE)
tb <- CreateTableOne(data = df)
k <- print(tb$ContTable)
```
```{r b, echo=FALSE}
k %>%
kbl() %>%
kable_paper("hover", full_width = F)
```