【问题标题】:Use summary(CreateTableOne) in HTML Output在 HTML 输出中使用 summary(CreateTableOne)
【发布时间】:2021-10-13 11:46:11
【问题描述】:

我使用 CreateTableOne 函数为描述性统计创建一个表 - 例如,我使用了 mtcars 数据集(并将两个变量修改为一个因子来模拟分类变量)。

library(tableone)

mydata <- mtcars

mydata$gear <- as.factor(mydata$gear)
mydata$carb <- as.factor(mydata$carb)

VarsForTableOne <- c("mpg", "cyl", "disp", "hp", "drat", "wt", "gear", "carb")

myTableOne <- CreateTableOne(vars = VarsForTableOne, data = mydata, strata = "vs")
summary(myTableOne)

myTableOne$ContTable
myTableOne$CatTable

现在我想为具有连续方面(最小值、平均值、中值、最大值、四分位数)的数据和每个变量的每个特征的分类数据(百分比)获取一个表格。

summary(myTableOne) 生成所有我感兴趣的信息,但 myTableOne$ContTable 和 myTableOne$CatTable 还不够。有没有办法自定义 CreateTableOne 的输出?

最后我想得到一个可以在 Markdown 中格式化为 HTML 和/或复制到 Excel 的表格。

感谢您的帮助!

【问题讨论】:

    标签: r


    【解决方案1】:

    我不确定{tableone},但这里有一个使用包{crosstable} 的解决方案。

    免责声明:我是这个包的作者。

    library(crosstable)
    mydata <- mtcars
    mydata$gear <- as.factor(mydata$gear)
    varsForDescription <- c("mpg", "cyl", "gear")
    
    crosstable(mydata, cols=any_of(varsForDescription), 
               by=vs, test=TRUE) %>% 
       as_flextable()
    #> Warning: Be aware that automatic global testing should only be done in an exploratory context, as it would cause extensive alpha inflation otherwise.
    #> This warning is displayed once every 8 hours.
    

    reprex package (v2.0.1) 于 2021 年 10 月 24 日创建

    您可以完全自定义对连续变量使用哪个汇总函数(例如,尝试funs=c(mean=mean, "std error"=sd))以及如何计算百分比(例如,尝试margin=c("row", "col"))。

    在这里,我使用flextable() 输出可以嵌入到 RMarkdown 或 MS Word 中的 HTML 表格,但我可以使用 as_workbook() 输出可以导出到 Excel 的openxlsx 工作簿。

    您可以在the documentation 中阅读更多相关信息,还有许多其他可能感兴趣的功能。

    【讨论】:

    • 太好了,非常感谢!!
    猜你喜欢
    • 1970-01-01
    • 2014-07-13
    • 1970-01-01
    • 1970-01-01
    • 2022-01-07
    • 2011-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多