我希望你一切都好? 当我生成 tbl_summary 表时,我遇到了这个问题,当我使用旧版本的包时,我没有遇到这个问题,但自从我下载了最新版本后,它就无法正常工作,(参见附图,正确的表格位于旧版本的软件包下,混乱的表格位于最新版本的软件包下)有什么解决方案吗?
旧版本的gtsummary:
新版本的gtsummary:
这是我的代码(已更新以使其易于重现,我取下了弹性代码和标签,但所有内容都按相同顺序)
groupe_etude <- c(rep("Tem",13),rep("TTA-",7),rep("TTA+",18))
tympan_g_inc <- rep(1,38)
tympan_d_inc <- rep(1,38)
cou_inc <- c(rep(1,3),rep(0,34),1)
pavillon_inc <- c(rep(1,3),rep(0,34),1)
luette_inc <- c(rep(1,37),2)
dysmorph_inc <- rep(0,38)
example_df <- data.frame(groupe_etude,tympan_g_inc,tympan_d_inc,cou_inc,pavillon_inc,luette_inc,dysmorph_inc,row.names=NULL)
example_df %>%
mutate(luette_inc = as.factor(luette_inc)) %>%
tbl_summary(by = groupe_etude,
include = c(tympan_g_inc:dysmorph_inc),
digits = everything()~c(0,0),
value = list(c(tympan_g_inc,tympan_d_inc) ~ "1",
dysmorph_inc~"0"),
percent = "column") %>%
add_overall(last=FALSE)
变量(tympan_g_inc、tympan_d_inc 和 Dysmorph_inc)被编码为整数 dichotomus (0, 1) 对于这个问题,我在这里的一个老问题中找到了解决方案(tbl_summary():Trouble reporting 0% results for dichotomous Variables)
value = list(c(tympan_g_inc,tympan_d_inc) ~ "1",
dysmorph_inc~"0")
效果完美。
但是,我不明白为什么整个列显示在那个地方,我尝试了参数last=FALSE,它没有改变任何东西。
提前致谢
我花了很多时间看这个,结果是“啊哈!”那一刻让我找到了答案。这是一个“编码”问题。我遇到了同样的问题,但原因完全不同。 如果您要运行
sort(groupe_etude)
,您会看到顺序是
Tem
、TTA-
和 TT+
。但是,如果您运行 data.frame(x = groupe_etude) %>% arrange(x)
,则顺序为 TTA+
、TTA-
和 Tem
。在 gtsummary
代码的一个区域中,它按照您用 by
指示的方式进行排序,在另一区域中,它按照 dplyr::arrange
进行排序,因此在添加 overall
时会创建一个奇怪的顺序。值得庆幸的是,修复的内容并不比您已经完成的多多少。
example_df %>%
mutate(luette_inc = as.factor(luette_inc),
groupe_etude = factor(groupe_etude)) %>% # <<----- I'm new!
tbl_summary(by = groupe_etude,
include = c(tympan_g_inc:dysmorph_inc),
digits = everything()~c(0,0),
value = list(c(tympan_g_inc,tympan_d_inc) ~ "1",
dysmorph_inc~"0"),
percent = "column") %>%
add_overall(last=FALSE)