tbl_summary和数字变量

时间:2020-09-24 00:17:01

标签: r gtsummary

tbl_summary [library(gtsummary)]不能以相同的方式处理所有数字变量,而且我不知道如何更改它。例如。

mtcars仅具有数字变量,因此当我运行此变量时,我希望计算每个变量的均值。而是将cyl,gear和carb视为类别。

tbl_summary(mtcars, statistic = list(all_numeric() ~ "{mean} ({sd})",
                                      all_categorical() ~ "{n} / {N} ({p}%)"))

我实际上有一个更大的数据集,并且tbl_summary将某些数字变量视为分类变量。是因为N太少了(假设我缺少很多行),而tbl_summary不想计算这么小的N的平均值吗?

我无法解决这个问题!

从我的数据中再举一个例子。 Q12_5_TEXT是一个数字变量,但这是tbl_summary的输出。

enter image description here

2 个答案:

答案 0 :(得分:2)

我试过 type = all_continuous() ~ "continuous2",我有 1.3.5 版本,它没有改变摘要类型:

library(tidyverse)
library(gtsummary)

nrows <- 30

df <- tibble(
  a = sample(c(0,1,3.5,7.5),nrows,replace = T),
  b = sample(c("Group I","Group II"),nrows,replace = T)
)

df %>% 
  tbl_summary(
    by = b,
    type = all_continuous() ~ "continuous2",
    statistic = all_continuous() ~ "{mean} ({sd})"
  )

这个汇总变量 'a' 的输出就好像它是一个分类变量,尽管有类型参数。我也遇到了这个问题,这就是我来这里寻求答案的原因。如果您可以指出我应该使用的其他论点,我将不胜感激!

答案 1 :(得分:1)

具有很少唯一级别的变量被归类归类。例如,mtcars$cyl仅具有三个唯一级别:4、6、8。只有三个级别,分类汇总比均值或中位数更合适。

使用type=参数更改默认的摘要类型。