在嵌套组上应用 qwraps2
Apply `qwraps2` on nested groups
使用包 qwraps2
我们可以在 HTML 和 Latex 中创建漂亮的汇总表。
分组 data.frames
也支持一组,但嵌套组呢?有没有办法直接将带有嵌套组的 data.frame
传递给 qwraps2::summary_table()
?
或者,有没有办法 cbind()
两个输出?
考虑以下因素:
R码
library(dplyr)
library(qwraps2)
our_summary1 <-
list("Miles Per Gallon" =
list("min" = ~ min(.data$mpg),
"max" = ~ max(.data$mpg),
"mean (sd)" = ~ qwraps2::mean_sd(.data$mpg)),
"Displacement" =
list("min" = ~ min(.data$disp),
"median" = ~ median(.data$disp),
"max" = ~ max(.data$disp),
"mean (sd)" = ~ qwraps2::mean_sd(.data$disp)),
"Weight (1000 lbs)" =
list("min" = ~ min(.data$wt),
"max" = ~ max(.data$wt),
"mean (sd)" = ~ qwraps2::mean_sd(.data$wt)),
"Forward Gears" =
list("Three" = ~ qwraps2::n_perc0(.data$gear == 3),
"Four" = ~ qwraps2::n_perc0(.data$gear == 4),
"Five" = ~ qwraps2::n_perc0(.data$gear == 5))
)
summary_table(mtcars %>% dplyr::group_by(vs), our_summary1)
不过我想按 vs
和 gear
分组。因此,每个 vs
组将具有三个 gear
子组(gear
== 3、4 或 5)。
以下导致错误:
summary_table(mtcars %>% dplyr::group_by(vs, gear), our_summary1)
Error in dimnames(x) <- dn : length of 'dimnames' [1] not equal to array extent
您可以手动添加列或使用 interaction(vs, gear)
进行分组:
library(dplyr)
library(qwraps2)
options(qwraps2_markup = "markdown")
summary_table(mtcars %>%
dplyr::mutate(vsgear = paste0("vs = ", vs, ", gear = ", gear)) %>%
dplyr::group_by(vsgear), our_summary1)
summary_table(mtcars %>% dplyr::group_by(interaction(vs, gear, sep=",")), our_summary1)
###showing results for the second option only
#>
#> | |interaction(vs, gear): 0,3 (N = 12) |interaction(vs, gear): 1,3 (N = 3) |interaction(vs, gear): 0,4 (N = 2) |interaction(vs, gear): 1,4 (N = 10) |interaction(vs, gear): 0,5 (N = 4) |interaction(vs, gear): 1,5 (N = 1) |
#> |:----------------------|:-----------------------------------|:----------------------------------|:----------------------------------|:-----------------------------------|:----------------------------------|:----------------------------------|
#> |**Miles Per Gallon** | | | | | | |
#> | min |10.4 |18.1 |21.0 |17.8 |15.0 |30.4 |
#> | max |19.2 |21.5 |21.0 |33.9 |26.0 |30.4 |
#> | mean (sd) |15.05 ± 2.77 |20.33 ± 1.93 |21.00 ± 0.00 |25.24 ± 5.54 |19.12 ± 5.02 |30.40 ± NA |
#> |**Displacement** | | | | | | |
#> | min |275.8 |120.1 |160.0 |71.1 |120.3 |95.1 |
#> | median |355.0 |225.0 |160.0 |114.5 |223.0 |95.1 |
#> | max |472.0 |258.0 |160.0 |167.6 |351.0 |95.1 |
#> | mean (sd) |357.62 ± 71.82 |201.03 ± 72.01 |160.00 ± 0.00 |115.62 ± 38.54 |229.32 ± 113.93 |95.10 ± NA |
#> |**Weight (1000 lbs)** | | | | | | |
#> | min |3.435 |2.465 |2.620 |1.615 |2.140 |1.513 |
#> | max |5.424 |3.460 |2.875 |3.440 |3.570 |1.513 |
#> | mean (sd) |4.10 ± 0.77 |3.05 ± 0.52 |2.75 ± 0.18 |2.59 ± 0.69 |2.91 ± 0.61 |1.51 ± NA |
#> |**Forward Gears** | | | | | | |
#> | Three |12 (100) |3 (100) |0 (0) |0 (0) |0 (0) |0 (0) |
#> | Four |0 (0) |0 (0) |2 (100) |10 (100) |0 (0) |0 (0) |
#> | Five |0 (0) |0 (0) |0 (0) |0 (0) |4 (100) |1 (100) |
从 qwraps2 0.5.0 版本开始,summary_table
方法已被
扩展以在不构建交互列的情况下处理此问题。
library(qwraps2)
options(qwraps2_markup = "markdown")
our_summary1 <-
list("Miles Per Gallon" =
list("min" = ~ min(mpg),
"max" = ~ max(mpg),
"mean (sd)" = ~ qwraps2::mean_sd(mpg)),
"Displacement" =
list("min" = ~ min(disp),
"median" = ~ median(disp),
"max" = ~ max(disp),
"mean (sd)" = ~ qwraps2::mean_sd(disp)),
"Weight (1000 lbs)" =
list("min" = ~ min(wt),
"max" = ~ max(wt),
"mean (sd)" = ~ qwraps2::mean_sd(wt)),
"Forward Gears" =
list("Three" = ~ qwraps2::n_perc0(gear == 3),
"Four" = ~ qwraps2::n_perc0(gear == 4),
"Five" = ~ qwraps2::n_perc0(gear == 5))
)
st <- summary_table(mtcars, summaries = our_summary1, by = c("vs", "gear"))
st
#>
#>
#> | |0.3 (N = 12) |1.3 (N = 3) |0.4 (N = 2) |1.4 (N = 10) |0.5 (N = 4) |1.5 (N = 1) |
#> |:----------------------|:---------------------|:---------------------|:--------------------|:---------------------|:----------------------|:------------------|
#> |**Miles Per Gallon** | | | | | | |
#> | min |10.4 |18.1 |21 |17.8 |15 |30.4 |
#> | max |19.2 |21.5 |21 |33.9 |26 |30.4 |
#> | mean (sd) |15.05 ± 2.77 |20.33 ± 1.93 |21.00 ± 0.00 |25.24 ± 5.54 |19.12 ± 5.02 |30.40 ± NA |
#> |**Displacement** | | | | | | |
#> | min |275.8 |120.1 |160 |71.1 |120.3 |95.1 |
#> | median |355 |225 |160 |114.5 |223 |95.1 |
#> | max |472 |258 |160 |167.6 |351 |95.1 |
#> | mean (sd) |357.62 ± 71.82 |201.03 ± 72.01 |160.00 ± 0.00 |115.62 ± 38.54 |229.32 ± 113.93 |95.10 ± NA |
#> |**Weight (1000 lbs)** | | | | | | |
#> | min |3.435 |2.465 |2.62 |1.615 |2.14 |1.513 |
#> | max |5.424 |3.46 |2.875 |3.44 |3.57 |1.513 |
#> | mean (sd) |4.10 ± 0.77 |3.05 ± 0.52 |2.75 ± 0.18 |2.59 ± 0.69 |2.91 ± 0.61 |1.51 ± NA |
#> |**Forward Gears** | | | | | | |
#> | Three |12 (100) |3 (100) |0 (0) |0 (0) |0 (0) |0 (0) |
#> | Four |0 (0) |0 (0) |2 (100) |10 (100) |0 (0) |0 (0) |
#> | Five |0 (0) |0 (0) |0 (0) |0 (0) |4 (100) |1 (100) |
headers 0.3、1.3、……没有太大帮助。有几种选择
为了变得更好 headers。一种选择是让人类可读
vs 齿轮的字符或因子版本,或修改输出
summary_table
.
colnames(st) <-
sub("^(\d).", "VS = \1, ", sub("\.(\d)", " Gear = \1", colnames(st) ))
st
#>
#>
#> | |VS = 0, Gear = 3 (N = 12) |VS = 1, Gear = 3 (N = 3) |VS = 0, Gear = 4 (N = 2) |VS = 1, Gear = 4 (N = 10) |VS = 0, Gear = 5 (N = 4) |VS = 1, Gear = 5 (N = 1) |
#> |:----------------------|:-------------------------|:------------------------|:------------------------|:-------------------------|:------------------------|:------------------------|
#> |**Miles Per Gallon** | | | | | | |
#> | min |10.4 |18.1 |21 |17.8 |15 |30.4 |
#> | max |19.2 |21.5 |21 |33.9 |26 |30.4 |
#> | mean (sd) |15.05 ± 2.77 |20.33 ± 1.93 |21.00 ± 0.00 |25.24 ± 5.54 |19.12 ± 5.02 |30.40 ± NA |
#> |**Displacement** | | | | | | |
#> | min |275.8 |120.1 |160 |71.1 |120.3 |95.1 |
#> | median |355 |225 |160 |114.5 |223 |95.1 |
#> | max |472 |258 |160 |167.6 |351 |95.1 |
#> | mean (sd) |357.62 ± 71.82 |201.03 ± 72.01 |160.00 ± 0.00 |115.62 ± 38.54 |229.32 ± 113.93 |95.10 ± NA |
#> |**Weight (1000 lbs)** | | | | | | |
#> | min |3.435 |2.465 |2.62 |1.615 |2.14 |1.513 |
#> | max |5.424 |3.46 |2.875 |3.44 |3.57 |1.513 |
#> | mean (sd) |4.10 ± 0.77 |3.05 ± 0.52 |2.75 ± 0.18 |2.59 ± 0.69 |2.91 ± 0.61 |1.51 ± NA |
#> |**Forward Gears** | | | | | | |
#> | Three |12 (100) |3 (100) |0 (0) |0 (0) |0 (0) |0 (0) |
#> | Four |0 (0) |0 (0) |2 (100) |10 (100) |0 (0) |0 (0) |
#> | Five |0 (0) |0 (0) |0 (0) |0 (0) |4 (100) |1 (100) |
由 reprex package (v0.3.0)
于 2020-09-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
使用包 qwraps2
我们可以在 HTML 和 Latex 中创建漂亮的汇总表。
分组 data.frames
也支持一组,但嵌套组呢?有没有办法直接将带有嵌套组的 data.frame
传递给 qwraps2::summary_table()
?
或者,有没有办法 cbind()
两个输出?
考虑以下因素:
R码
library(dplyr)
library(qwraps2)
our_summary1 <-
list("Miles Per Gallon" =
list("min" = ~ min(.data$mpg),
"max" = ~ max(.data$mpg),
"mean (sd)" = ~ qwraps2::mean_sd(.data$mpg)),
"Displacement" =
list("min" = ~ min(.data$disp),
"median" = ~ median(.data$disp),
"max" = ~ max(.data$disp),
"mean (sd)" = ~ qwraps2::mean_sd(.data$disp)),
"Weight (1000 lbs)" =
list("min" = ~ min(.data$wt),
"max" = ~ max(.data$wt),
"mean (sd)" = ~ qwraps2::mean_sd(.data$wt)),
"Forward Gears" =
list("Three" = ~ qwraps2::n_perc0(.data$gear == 3),
"Four" = ~ qwraps2::n_perc0(.data$gear == 4),
"Five" = ~ qwraps2::n_perc0(.data$gear == 5))
)
summary_table(mtcars %>% dplyr::group_by(vs), our_summary1)
不过我想按 vs
和 gear
分组。因此,每个 vs
组将具有三个 gear
子组(gear
== 3、4 或 5)。
以下导致错误:
summary_table(mtcars %>% dplyr::group_by(vs, gear), our_summary1)
Error in dimnames(x) <- dn : length of 'dimnames' [1] not equal to array extent
您可以手动添加列或使用 interaction(vs, gear)
进行分组:
library(dplyr)
library(qwraps2)
options(qwraps2_markup = "markdown")
summary_table(mtcars %>%
dplyr::mutate(vsgear = paste0("vs = ", vs, ", gear = ", gear)) %>%
dplyr::group_by(vsgear), our_summary1)
summary_table(mtcars %>% dplyr::group_by(interaction(vs, gear, sep=",")), our_summary1)
###showing results for the second option only
#>
#> | |interaction(vs, gear): 0,3 (N = 12) |interaction(vs, gear): 1,3 (N = 3) |interaction(vs, gear): 0,4 (N = 2) |interaction(vs, gear): 1,4 (N = 10) |interaction(vs, gear): 0,5 (N = 4) |interaction(vs, gear): 1,5 (N = 1) |
#> |:----------------------|:-----------------------------------|:----------------------------------|:----------------------------------|:-----------------------------------|:----------------------------------|:----------------------------------|
#> |**Miles Per Gallon** | | | | | | |
#> | min |10.4 |18.1 |21.0 |17.8 |15.0 |30.4 |
#> | max |19.2 |21.5 |21.0 |33.9 |26.0 |30.4 |
#> | mean (sd) |15.05 ± 2.77 |20.33 ± 1.93 |21.00 ± 0.00 |25.24 ± 5.54 |19.12 ± 5.02 |30.40 ± NA |
#> |**Displacement** | | | | | | |
#> | min |275.8 |120.1 |160.0 |71.1 |120.3 |95.1 |
#> | median |355.0 |225.0 |160.0 |114.5 |223.0 |95.1 |
#> | max |472.0 |258.0 |160.0 |167.6 |351.0 |95.1 |
#> | mean (sd) |357.62 ± 71.82 |201.03 ± 72.01 |160.00 ± 0.00 |115.62 ± 38.54 |229.32 ± 113.93 |95.10 ± NA |
#> |**Weight (1000 lbs)** | | | | | | |
#> | min |3.435 |2.465 |2.620 |1.615 |2.140 |1.513 |
#> | max |5.424 |3.460 |2.875 |3.440 |3.570 |1.513 |
#> | mean (sd) |4.10 ± 0.77 |3.05 ± 0.52 |2.75 ± 0.18 |2.59 ± 0.69 |2.91 ± 0.61 |1.51 ± NA |
#> |**Forward Gears** | | | | | | |
#> | Three |12 (100) |3 (100) |0 (0) |0 (0) |0 (0) |0 (0) |
#> | Four |0 (0) |0 (0) |2 (100) |10 (100) |0 (0) |0 (0) |
#> | Five |0 (0) |0 (0) |0 (0) |0 (0) |4 (100) |1 (100) |
从 qwraps2 0.5.0 版本开始,summary_table
方法已被
扩展以在不构建交互列的情况下处理此问题。
library(qwraps2)
options(qwraps2_markup = "markdown")
our_summary1 <-
list("Miles Per Gallon" =
list("min" = ~ min(mpg),
"max" = ~ max(mpg),
"mean (sd)" = ~ qwraps2::mean_sd(mpg)),
"Displacement" =
list("min" = ~ min(disp),
"median" = ~ median(disp),
"max" = ~ max(disp),
"mean (sd)" = ~ qwraps2::mean_sd(disp)),
"Weight (1000 lbs)" =
list("min" = ~ min(wt),
"max" = ~ max(wt),
"mean (sd)" = ~ qwraps2::mean_sd(wt)),
"Forward Gears" =
list("Three" = ~ qwraps2::n_perc0(gear == 3),
"Four" = ~ qwraps2::n_perc0(gear == 4),
"Five" = ~ qwraps2::n_perc0(gear == 5))
)
st <- summary_table(mtcars, summaries = our_summary1, by = c("vs", "gear"))
st
#>
#>
#> | |0.3 (N = 12) |1.3 (N = 3) |0.4 (N = 2) |1.4 (N = 10) |0.5 (N = 4) |1.5 (N = 1) |
#> |:----------------------|:---------------------|:---------------------|:--------------------|:---------------------|:----------------------|:------------------|
#> |**Miles Per Gallon** | | | | | | |
#> | min |10.4 |18.1 |21 |17.8 |15 |30.4 |
#> | max |19.2 |21.5 |21 |33.9 |26 |30.4 |
#> | mean (sd) |15.05 ± 2.77 |20.33 ± 1.93 |21.00 ± 0.00 |25.24 ± 5.54 |19.12 ± 5.02 |30.40 ± NA |
#> |**Displacement** | | | | | | |
#> | min |275.8 |120.1 |160 |71.1 |120.3 |95.1 |
#> | median |355 |225 |160 |114.5 |223 |95.1 |
#> | max |472 |258 |160 |167.6 |351 |95.1 |
#> | mean (sd) |357.62 ± 71.82 |201.03 ± 72.01 |160.00 ± 0.00 |115.62 ± 38.54 |229.32 ± 113.93 |95.10 ± NA |
#> |**Weight (1000 lbs)** | | | | | | |
#> | min |3.435 |2.465 |2.62 |1.615 |2.14 |1.513 |
#> | max |5.424 |3.46 |2.875 |3.44 |3.57 |1.513 |
#> | mean (sd) |4.10 ± 0.77 |3.05 ± 0.52 |2.75 ± 0.18 |2.59 ± 0.69 |2.91 ± 0.61 |1.51 ± NA |
#> |**Forward Gears** | | | | | | |
#> | Three |12 (100) |3 (100) |0 (0) |0 (0) |0 (0) |0 (0) |
#> | Four |0 (0) |0 (0) |2 (100) |10 (100) |0 (0) |0 (0) |
#> | Five |0 (0) |0 (0) |0 (0) |0 (0) |4 (100) |1 (100) |
headers 0.3、1.3、……没有太大帮助。有几种选择
为了变得更好 headers。一种选择是让人类可读
vs 齿轮的字符或因子版本,或修改输出
summary_table
.
colnames(st) <-
sub("^(\d).", "VS = \1, ", sub("\.(\d)", " Gear = \1", colnames(st) ))
st
#>
#>
#> | |VS = 0, Gear = 3 (N = 12) |VS = 1, Gear = 3 (N = 3) |VS = 0, Gear = 4 (N = 2) |VS = 1, Gear = 4 (N = 10) |VS = 0, Gear = 5 (N = 4) |VS = 1, Gear = 5 (N = 1) |
#> |:----------------------|:-------------------------|:------------------------|:------------------------|:-------------------------|:------------------------|:------------------------|
#> |**Miles Per Gallon** | | | | | | |
#> | min |10.4 |18.1 |21 |17.8 |15 |30.4 |
#> | max |19.2 |21.5 |21 |33.9 |26 |30.4 |
#> | mean (sd) |15.05 ± 2.77 |20.33 ± 1.93 |21.00 ± 0.00 |25.24 ± 5.54 |19.12 ± 5.02 |30.40 ± NA |
#> |**Displacement** | | | | | | |
#> | min |275.8 |120.1 |160 |71.1 |120.3 |95.1 |
#> | median |355 |225 |160 |114.5 |223 |95.1 |
#> | max |472 |258 |160 |167.6 |351 |95.1 |
#> | mean (sd) |357.62 ± 71.82 |201.03 ± 72.01 |160.00 ± 0.00 |115.62 ± 38.54 |229.32 ± 113.93 |95.10 ± NA |
#> |**Weight (1000 lbs)** | | | | | | |
#> | min |3.435 |2.465 |2.62 |1.615 |2.14 |1.513 |
#> | max |5.424 |3.46 |2.875 |3.44 |3.57 |1.513 |
#> | mean (sd) |4.10 ± 0.77 |3.05 ± 0.52 |2.75 ± 0.18 |2.59 ± 0.69 |2.91 ± 0.61 |1.51 ± NA |
#> |**Forward Gears** | | | | | | |
#> | Three |12 (100) |3 (100) |0 (0) |0 (0) |0 (0) |0 (0) |
#> | Four |0 (0) |0 (0) |2 (100) |10 (100) |0 (0) |0 (0) |
#> | Five |0 (0) |0 (0) |0 (0) |0 (0) |4 (100) |1 (100) |
由 reprex package (v0.3.0)
于 2020-09-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