gtsummary::tbl_summary 计算连续变量的 sd 时出现错误

问题描述 投票:0回答:1

当我尝试跑步时:

mtcars %>%
  select(vs, mpg, disp) %>%
  tbl_summary(
    by = vs,
    type = list(c(mpg, disp) ~ "continuous"),
    statistic = list(all_continuous() ~ "{mean} ({sd})")
  ) 

我得到:

✖ There was an error calculating the summary statistics for "mpg". Is this variable's class supported by `mean` and `sd`?
Error in `mutate()`:
ℹ In argument: `df_stats = pmap(...)`.
Caused by error in `pmap()`:
ℹ In index: 1.
Caused by error in `abort()`:
! `message` must be a character vector, not a <rlang_error> object.
Backtrace:
  1. mtcars %>% select(vs, mpg, disp) %>% ...
 23. gtsummary:::safe_summarise_at(., variable = variable, fns = fns)
 24. base::tryCatch(...)
 25. base (local) tryCatchList(expr, classes, parentenv, handlers)
 26. base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
 27. value[[3L]](cond)
 28. rlang::abort(message = e)
  1. 我尝试更新 R (4.4.0)、RStudio (2024.04.0+735) 和相关软件包(gtsummary 1.7.2、tidyverse 2.0.0、rlang 1.1.3)
  2. 当我删除 {mean} 时,错误会重复,但是当我删除 {sd} 时,代码运行时不会出现错误
  3. 两个连续变量都发生这种情况,并且都被归类为 dbl
  4. 这段代码在过去是有效的

会议信息:

R version 4.4.0 (2024-04-24)
Platform: aarch64-apple-darwin20
Running under: macOS Sonoma 14.3.1

Matrix products: default
BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib 
LAPACK: /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.12.0

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

time zone: Asia/Jerusalem
tzcode source: internal

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] EnvStats_2.8.1         gt_0.10.1              marginaleffects_0.20.1 MatchIt_4.5.5         
 [5] labelled_2.13.0        scales_1.3.0           ggsci_3.0.3            flextable_0.9.6       
 [9] gtsummary_1.7.2        haven_2.5.4            readxl_1.4.3           lubridate_1.9.3       
[13] forcats_1.0.0          stringr_1.5.1          dplyr_1.1.4            purrr_1.0.2           
[17] readr_2.1.5            tidyr_1.3.1            tibble_3.2.1           ggplot2_3.5.1         
[21] tidyverse_2.0.0        pacman_0.5.1          

loaded via a namespace (and not attached):
 [1] tidyselect_1.2.1        farver_2.1.1            fastmap_1.1.1           fontquiver_0.2.1       
 [5] promises_1.3.0          broom.helpers_1.15.0    digest_0.6.35           timechange_0.3.0       
 [9] mime_0.12               lifecycle_1.0.4         gfonts_0.2.0            magrittr_2.0.3         
[13] compiler_4.4.0          rlang_1.1.3             tools_4.4.0             utf8_1.2.4             
[17] yaml_2.3.8              data.table_1.15.4       knitr_1.46              labeling_0.4.3         
[21] askpass_1.2.0           curl_5.2.1              xml2_1.3.6              httpcode_0.3.0         
[25] withr_3.0.0             grid_4.4.0              fansi_1.0.6             gdtools_0.3.7          
[29] xtable_1.8-4            colorspace_2.1-0        crul_1.4.2              insight_0.19.10        
[33] cli_3.6.2               rmarkdown_2.26          crayon_1.5.2            ragg_1.3.1             
[37] generics_0.1.3          rstudioapi_0.16.0       tzdb_0.4.0              cellranger_1.1.0       
[41] vctrs_0.6.5             sandwich_3.1-0          jsonlite_1.8.8          fontBitstreamVera_0.1.1
[45] hms_1.1.3               systemfonts_1.0.6       glue_1.7.0              stringi_1.8.4          
[49] gtable_0.3.5            later_1.3.2             munsell_0.5.1           pillar_1.9.0           
[53] htmltools_0.5.8.1       openssl_2.1.2           R6_2.5.1                textshaping_0.3.7      
[57] evaluate_0.23           shiny_1.8.1.1           lattice_0.22-6          backports_1.4.1        
[61] fontLiberation_0.1.0    httpuv_1.6.15           Rcpp_1.0.12             zip_2.3.1              
[65] uuid_1.2-0              checkmate_2.3.1         officer_0.6.6           xfun_0.43              
[69] zoo_1.8-12              pkgconfig_2.0.3 
r dplyr tidyverse gtsummary
1个回答
0
投票

感谢您更新您的示例以使其可重现。

下面的代码显示我可以运行您的示例而不会出现错误。此外,这对于

tbl_summary()
来说是非常基本的功能。在将其提交给 CRAN 之前,我在 6 个版本的 R 上运行了全面的测试套件,在 Windows、MacOS 和 Linux 上进行了测试。然后,在进入 CRAN 后,他们在大约 12 个系统上运行测试套件。所有这些测试都通过了。

不幸的是,这对您的具体情况没有多大帮助。通常在这种情况下,我建议您重新安装 gtsummary (以及所有依赖项)。

当您更新 R 版本时,您是否执行了所有 R 软件包的全新安装,并且没有从之前的安装中复制它们?如果不是全新安装,请从 CRAN 强制进行新安装。

library(gtsummary)
packageVersion("gtsummary")
#> [1] '1.7.2'

mtcars %>%
  select(vs, mpg, disp) %>%
  tbl_summary(
    by = vs,
    type = list(c(mpg, disp) ~ "continuous"),
    statistic = list(all_continuous() ~ "{mean} ({sd})")
  ) |> 
  as_kable() # convert to kable so table will display on SO
特点 0,N = 18 1,N = 14
mpg 16.6 (3.9) 24.6 (5.4)
显示 307 (107) 132 (57)

创建于 2024-05-11,使用 reprex v2.1.0

© www.soinside.com 2019 - 2024. All rights reserved.