首页 > 解决方案 > qwraps2 代码的输出与预期不符

问题描述

我正在尝试获取其中一个数据集的汇总表输出,但输出不是整洁表的形式

options(qwraps2_markup = "markdown")
age_summary <- list("Age" = 
                      list("Min" = ~min(.data$Age),
                           "Max" = ~max(.data$Age),
                           "Mean" = ~mean_sd(.data$Age)))
age_tab <- summary_table(insurance, age_summary)
age_tab

当我编写 RMarkdown 文件时,汇总表类似于控制台中的输出,而不是预期的格式化汇总表。

标签: rqwraps2

解决方案


生成的对象qwraps2::summary_table是一个具有类属性的字符矩阵qwraps2_summary_table。和 方法负责表格在输出中的呈现方式qwraps2:::print.qwraps2_summary_tableqwraps2:::print.qable块选项将负责表格在输出文档中的呈现方式。

更新:从 qwraps2 版本 0.5.0 开始,.data不再需要或推荐使用 。

options(qwraps2_markup = "markdown")
library(qwraps2)

eg_data <- data.frame(Age = rnorm(1000, mean = 54, sd = 10))

age_summary <- list("Age" =
                    list(
                         "Min" = ~ min(Age),
                         "Max" = ~ max(Age),
                         "Mean" = ~ mean_sd(Age)
                        )
                   )

age_table <- summary_table(eg_data, age_summary)

看一下结构age_table

str(age_table)
#>  'qwraps2_summary_table' chr [1:3, 1] "25.1137149669314" "83.5664804448924" ...
#>  - attr(*, "dimnames")=List of 2
#>   ..$ : chr [1:3] "Min" "Max" "Mean"
#>   ..$ : chr "eg_data (N = 1,000)"
#>  - attr(*, "rgroups")= Named int 3
#>   ..- attr(*, "names")= chr "Age"
#>  - attr(*, "n")= int 1000

如上所述,对象是一个 3 x 1 的字符矩阵 class qwraps2_summary_table。要在 R 控制台中查看返回:

print.default(age_table)
#>      eg_data (N = 1,000)  
#> Min  "25.1137149669314"   
#> Max  "83.5664804448924"   
#> Mean "53.75 &plusmn; 9.94"
#> attr(,"rgroups")
#> Age 
#>   3 
#> attr(,"n")
#> [1] 1000
#> attr(,"class")
#> [1] "qwraps2_summary_table" "matrix"                "array"

既然options(qwraps2_markup = "markdown")已经设置好了,打印方法会返回一个markdown表

age_table
#> 
#> 
#> |                  |eg_data (N = 1,000) |
#> |:-----------------|:-------------------|
#> |**Age**           |&nbsp;&nbsp;        |
#> |&nbsp;&nbsp; Min  |25.1137149669314    |
#> |&nbsp;&nbsp; Max  |83.5664804448924    |
#> |&nbsp;&nbsp; Mean |53.75 &plusmn; 9.94 |

确保results = "asis"在 .Rmd 文件中设置了块选项,以便表格在输出文档中正确呈现。 reprex 包(v0.3.0)于 2020 年 9 月 14 日创建

devtools::session_info()
#> ─ Session info ───────────────────────────────────────────────────────────────
#>  setting  value                       
#>  version  R version 4.0.2 (2020-06-22)
#>  os       macOS Catalina 10.15.6      
#>  system   x86_64, darwin17.0          
#>  ui       X11                         
#>  language (EN)                        
#>  collate  en_US.UTF-8                 
#>  ctype    en_US.UTF-8                 
#>  tz       America/Denver              
#>  date     2020-09-14                  
#> 
#> ─ Packages ───────────────────────────────────────────────────────────────────
#>  package     * version date       lib source        
#>  assertthat    0.2.1   2019-03-21 [1] CRAN (R 4.0.0)
#>  backports     1.1.9   2020-08-24 [1] CRAN (R 4.0.2)
#>  callr         3.4.4   2020-09-07 [1] CRAN (R 4.0.2)
#>  cli           2.0.2   2020-02-28 [1] CRAN (R 4.0.0)
#>  crayon        1.3.4   2017-09-16 [1] CRAN (R 4.0.0)
#>  desc          1.2.0   2018-05-01 [1] CRAN (R 4.0.0)
#>  devtools      2.3.1   2020-07-21 [1] CRAN (R 4.0.2)
#>  digest        0.6.25  2020-02-23 [1] CRAN (R 4.0.0)
#>  ellipsis      0.3.1   2020-05-15 [1] CRAN (R 4.0.0)
#>  evaluate      0.14    2019-05-28 [1] CRAN (R 4.0.0)
#>  fansi         0.4.1   2020-01-08 [1] CRAN (R 4.0.0)
#>  fs            1.5.0   2020-07-31 [1] CRAN (R 4.0.2)
#>  glue          1.4.2   2020-08-27 [1] CRAN (R 4.0.2)
#>  highr         0.8     2019-03-20 [1] CRAN (R 4.0.0)
#>  htmltools     0.5.0   2020-06-16 [1] CRAN (R 4.0.0)
#>  knitr         1.29    2020-06-23 [1] CRAN (R 4.0.0)
#>  magrittr      1.5     2014-11-22 [1] CRAN (R 4.0.0)
#>  memoise       1.1.0   2017-04-21 [1] CRAN (R 4.0.0)
#>  pkgbuild      1.1.0   2020-07-13 [1] CRAN (R 4.0.2)
#>  pkgload       1.1.0   2020-05-29 [1] CRAN (R 4.0.0)
#>  prettyunits   1.1.1   2020-01-24 [1] CRAN (R 4.0.0)
#>  processx      3.4.4   2020-09-03 [1] CRAN (R 4.0.2)
#>  ps            1.3.4   2020-08-11 [1] CRAN (R 4.0.2)
#>  qwraps2     * 0.5.0   2020-09-14 [1] local         
#>  R6            2.4.1   2019-11-12 [1] CRAN (R 4.0.0)
#>  Rcpp          1.0.5   2020-07-06 [1] CRAN (R 4.0.0)
#>  remotes       2.2.0   2020-07-21 [1] CRAN (R 4.0.2)
#>  rlang         0.4.7   2020-07-09 [1] CRAN (R 4.0.2)
#>  rmarkdown     2.3     2020-06-18 [1] CRAN (R 4.0.0)
#>  rprojroot     1.3-2   2018-01-03 [1] CRAN (R 4.0.0)
#>  sessioninfo   1.1.1   2018-11-05 [1] CRAN (R 4.0.0)
#>  stringi       1.5.3   2020-09-09 [1] CRAN (R 4.0.2)
#>  stringr       1.4.0   2019-02-10 [1] CRAN (R 4.0.0)
#>  testthat      2.3.2   2020-03-02 [1] CRAN (R 4.0.0)
#>  usethis       1.6.1   2020-04-29 [1] CRAN (R 4.0.0)
#>  withr         2.2.0   2020-04-20 [1] CRAN (R 4.0.0)
#>  xfun          0.17    2020-09-09 [1] CRAN (R 4.0.2)
#>  yaml          2.2.1   2020-02-01 [1] CRAN (R 4.0.0)
#> 
#> [1] /Library/Frameworks/R.framework/Versions/4.0/Resources/library

推荐阅读