使用循环从 epidisplay 应用 tab1 函数

Using a loop to apply tab1 function from epidisplay

我有一个包含 172 个变量的数据集,我正在尝试为所有变量(它们都是 categorical/character 变量)生成频率表。我正在使用 epiDisplay 包中的 tab1 函数。我知道如何像我在下面的代码中所做的那样对单个变量执行此操作,但是有没有办法一次完成所有操作?我将如何使用循环或 lapply?

来做到这一点
library(epiDisplay)
tab1(data$Race1, sort.group = "decreasing", cum.percent = TRUE)

谢谢!

可能有几种方法可以做到这一点。这可能想尝试这样的事情:

library(epiDisplay)
data <- mtcars # as an example data
f_1 <- function(x){tab1(x, sort.group = "decreasing", cum.percent = TRUE)}
lapply(data, f_1)

如果不需要图表:

f_1 <- function(x){tab1(x, sort.group = "decreasing", cum.percent = TRUE, graph = FALSE)}
lapply(data, f_1)