diff --git a/.github/workflows/draft-pdf.yml b/.github/workflows/draft-pdf.yml new file mode 100644 index 00000000..d72255cd --- /dev/null +++ b/.github/workflows/draft-pdf.yml @@ -0,0 +1,30 @@ +# TODO: delete this file once the paper is published +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + paper: + runs-on: ubuntu-latest + name: Paper Draft + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Build draft PDF + uses: openjournals/openjournals-draft-action@master + with: + journal: joss + # This should be the path to the paper within your repo. + paper-path: paper/paper.md + + - name: Upload + uses: actions/upload-artifact@v4 + with: + name: paper + # This is the output path where Pandoc will write the compiled + # PDF. Note, this should be the same directory as the input + # paper.md + path: paper/paper.pdf diff --git a/paper/paper.Rmd b/paper/paper.Rmd index 6f98df73..96a8082d 100644 --- a/paper/paper.Rmd +++ b/paper/paper.Rmd @@ -3,6 +3,9 @@ title: "report: Automated Reporting of Results and Statistical Models in R" tags: - R - easystats + - statistical reporting + - tables + - manuscript authors: - affiliation: 1 name: Dominique Makowski @@ -19,24 +22,33 @@ authors: - affiliation: 5 name: Daniel Lüdecke orcid: 0000-0002-8895-3206 - +- affiliation: 6 + name: Rémi Thériault + orcid: 0000-0003-4315-6788 + affiliations: - index: 1 name: Nanyang Technological University, Singapore - index: 2 - name: cynkra Analytics GmbH, Germany + name: Center for Humans and Machines, Max Planck Institute for Human Development, Berlin, Germany - index: 3 - name: Ben-Gurion University of the Negev, Israel + name: Independent Researcher - index: 4 name: Independent Researcher - index: 5 name: University Medical Center Hamburg-Eppendorf, Germany - +- index: 6 + name: Université du Québec à Montréal, Montréal, Canada + date: "`r Sys.Date()`" -bibliography: paper.bib -output: rticles::joss_article + +output: + md_document: + variant: "markdown" + preserve_yaml: true + standalone: true csl: apa.csl -journal: JOSS +bibliography: paper.bib link-citations: yes --- @@ -47,23 +59,158 @@ knitr::opts_chunk$set( dpi = 300, comment = "#>", message = FALSE, - warning = FALSE + warning = FALSE, + results = "asis" ) +options(width = 60) + library(report) set.seed(2016) ``` # Summary -The `{report}` package for the R programming language [@base2021] provides +The `{report}` package is a powerful tool for researchers who use R to analyze data and create reports for publication. It bridges the gap between R's output and the formatted results to be included in a manuscript, allowing users to easily convert statistical models and data frames into textual reports that are suitable for publication. This paper provides an overview of this package, including its features, advantages, and ways to use it. We also provide examples of how the package can be used to standardize and improve results reporting in R. # Statement of Need -The `{report}` package is part of `{easystats}`, a collection of R packages designed to make statistical analysis easier (@Ben-Shachar2020, @Lüdecke2020parameters, @Lüdecke2020performance, @Lüdecke2021see, @Lüdecke2019, @Makowski2019, @Makowski2020, @Patil2022datawizard). +Reporting results is a crucial part of scientific research. Researchers need to ensure that their results are reported accurately and clearly, so that other researchers can understand and reproduce their work. However, the process of results reporting can be time-consuming and error-prone, particularly when it comes to formatting data for publication [@nuijten2016prevalence]. The `{report}` package was developed to address this problem, providing researchers with a tool that can help standardize and improve reporting results from their workflows in R. `{report}` is part of the *easystats* ecosystem of packages that build an R framework for easy statistical modeling, visualization, and reporting [@easystatspackage]. # Features +The package includes several features that make it a valuable tool for researchers. It can convert statistical models and data frames into textual reports, which can be easily customized and formatted to meet the requirements of a particular journal or publication. It can also automatically report demographics information from column names. The package supports a wide range of output formats, including HTML, LaTeX, and Microsoft Word, via RMarkdown. + +Using this package in an analytic workflow has several advantages. First, it can help standardize results reporting across a research team or project, ensuring that everyone is using the same format and style. Second, the package can save researchers time by automating many of the tasks involved in reporting results, such as formatting tables and text. Third, the package can improve the quality of results reporting by providing users with a tool that is specifically designed for this purpose. Additionally, it prevents any copy-and-paste errors. + +The examples below illustrate the ease with which `{report}` can create detailed textual or tabular summaries for statistical objects. + +## Demographics + +Note that when using `rmarkdown`, setting a chunk option to `results = "asis"` will print the output as regular text, as below, for a rather seamless reading experience. + +```{r} +library(report) + +data <- data.frame( + "Age" = c(22, 23, 54, 21, 8, 42, 18, 32, 24, 27, 45), + "Sex" = c("Intersex", "F", "F", "M", "M", "M", "F", "F", "F", "F", "F"), + "Gender" = c("N", "W", "W", "M", "M", "M", "W", "W", "W", "W", "W"), + "Race" = c( + "Black", NA, "White", "Asian", "Black", "Arab", "Black", + "White", "Asian", "Southeast Asian", "Mixed" + ), + "Education" = c( + "Bachelor", "PhD", "Highschool", "Master", "Bachelor", + "Highschool", "Highschool", "Bachelor", "Bachelor", + "Highschool", "Master" + ), + "Country" = c( + "USA", NA, "Canada", "Canada", "India", "Germany", "USA", + "USA", "USA", "USA", "Canada" + ) +) + +cat(paste0( + "This study includes data from ", + report_participants(data), "." +)) +``` + +## Models + +```{r, eval=FALSE} +m_lm <- lm(mpg ~ qsec + wt, data = mtcars) +report(m_lm) +``` + +::: {.blackbox data-latex=""} + +```{r, echo=FALSE} +m_lm <- lm(mpg ~ qsec + wt, data = mtcars) +report(m_lm) +``` + +::: + +```{r, eval=FALSE} +library(lme4) +m_lmer <- lmer(Sepal.Length ~ Petal.Length + (1 | Species), data = iris) +report(m_lmer) +``` + +::: {.blackbox data-latex=""} + +```{r, echo=FALSE} +library(lme4) +m_lmer <- lmer(Sepal.Length ~ Petal.Length + (1 | Species), data = iris) +report(m_lmer) +``` + +::: + +```{r, eval=FALSE} +library(rstanarm) +m_rstan <- stan_glm(mpg ~ qsec + wt, data = mtcars, refresh = 0, iter = 1000) +report(m_rstan) +``` + +::: {.blackbox data-latex=""} + +```{r, echo=FALSE} +library(rstanarm) +m_rstan <- stan_glm(mpg ~ qsec + wt, data = mtcars, refresh = 0, iter = 1000) +report(m_rstan) +``` + +::: + +## Tables + +If preferred, you can output the information as a table instead. + +```{r} +library(insight) + +export_table(format_table(report_table(m_lm)), format = "markdown") + +export_table(format_table(report_table(m_lmer)), format = "markdown") + +export_table(format_table(report_table(m_rstan)), format = "markdown") +``` + +## Grouped Data + +You can also seamlessly integrate `{report}` with *tidyverse* workflows: + +```{r, warning=FALSE, eval=FALSE} +library(dplyr) + +iris %>% + select(-starts_with("Sepal")) %>% + group_by(Species) %>% + report() %>% + summary() +``` + +::: {.blackbox data-latex=""} + +```{r, warning=FALSE, echo=FALSE} +library(dplyr) + +iris %>% + select(-starts_with("Sepal")) %>% + group_by(Species) %>% + report() %>% + summary() +``` + +::: + +# Conclusion + +The `{report}` package is a valuable tool for researchers who use R to analyze data and create reports for publication. It can help standardize and improve results reporting while saving researchers time and improving the quality of their work. + # Licensing and Availability `{report}` is licensed under the GNU General Public License (v3.0), with all source code openly developed and stored on GitHub (), along with a corresponding issue tracker for bug reporting and feature enhancements. In the spirit of honest and open science, we encourage requests, tips for fixes, feature updates, as well as general questions and concerns via direct interaction with contributors and developers. diff --git a/paper/paper.bib b/paper/paper.bib index eb8cced2..6ade2fcf 100644 --- a/paper/paper.bib +++ b/paper/paper.bib @@ -126,3 +126,24 @@ @Manual{base2021 url = {https://www.R-project.org/}, } +@article{nuijten2016prevalence, + title={The prevalence of statistical reporting errors in psychology (1985--2013)}, + author={Nuijten, Mich{\`e}le B and Hartgerink, Chris HJ and Van Assen, Marcel ALM and Epskamp, Sacha and Wicherts, Jelte M}, + journal={Behavior research methods}, + volume={48}, + pages={1205--1226}, + year={2016}, + publisher={Springer}, + doi={doi.org/10.3758/s13428-015-0664-2} +} + +@software{easystatspackage, + title = {{{easystats}}: Streamline Model Interpretation, Visualization, and Reporting}, + shorttitle = {{{easystats}}}, + author = {L\"udecke, Daniel and Makowski, Dominique and Ben-Shachar, Mattan S. and Patil, Indrajeet and Wiernik, Brenton M. and Bacher, Etienne and Thériault, Rémi }, + date = {2023-02-04T22:06:06Z}, + origdate = {2019-01-28T10:39:29Z}, + url = {https://easystats.github.io/easystats/}, + urldate = {2023-02-04}, + version = {%s} +} diff --git a/paper/paper.log b/paper/paper.log deleted file mode 100644 index 260033d6..00000000 --- a/paper/paper.log +++ /dev/null @@ -1,969 +0,0 @@ -This is XeTeX, Version 3.141592653-2.6-0.999994 (TeX Live 2022) (preloaded format=xelatex 2022.9.27) 9 OCT 2022 20:47 -entering extended mode - restricted \write18 enabled. - %&-line parsing enabled. -**paper.tex -(./paper.tex -LaTeX2e <2022-06-01> patch level 5 -L3 programming layer <2022-08-30> (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/base/article.cls -Document Class: article 2021/10/04 v1.4n Standard LaTeX document class -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/base/size10.clo -File: size10.clo 2021/10/04 v1.4n Standard LaTeX file (size option) -) -\c@part=\count181 -\c@section=\count182 -\c@subsection=\count183 -\c@subsubsection=\count184 -\c@paragraph=\count185 -\c@subparagraph=\count186 -\c@figure=\count187 -\c@table=\count188 -\abovecaptionskip=\skip47 -\belowcaptionskip=\skip48 -\bibindent=\dimen138 -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/marginnote/marginnote.sty -Package: marginnote 2018/08/09 v1.4b non floating margin notes for LaTeX -\c@mn@abspage=\count189 -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/graphics/graphicx.sty -Package: graphicx 2021/09/16 v1.2d Enhanced LaTeX Graphics (DPC,SPQR) -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/graphics/keyval.sty -Package: keyval 2022/05/29 v1.15 key=value parser (DPC) -\KV@toks@=\toks16 -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/graphics/graphics.sty -Package: graphics 2022/03/10 v1.4e Standard LaTeX Graphics (DPC,SPQR) -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/graphics/trig.sty -Package: trig 2021/08/11 v1.11 sin cos tan (DPC) -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/graphics-cfg/graphics.cfg -File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration -) -Package graphics Info: Driver file: xetex.def on input line 107. -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/graphics-def/xetex.def -File: xetex.def 2022/09/22 v5.0n Graphics/color driver for xetex -\stockwidth=\dimen139 -\stockheight=\dimen140 -)) -\Gin@req@height=\dimen141 -\Gin@req@width=\dimen142 -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/xcolor/xcolor.sty -Package: xcolor 2022/06/12 v2.14 LaTeX color extensions (UK) -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/graphics-cfg/color.cfg -File: color.cfg 2016/01/02 v1.6 sample color configuration -) -Package xcolor Info: Driver file: xetex.def on input line 227. -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/graphics/mathcolor.ltx) -Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1353. -Package xcolor Info: Model `RGB' extended on input line 1369. -Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1371. -Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1372. -Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1373. -Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1374. -Package xcolor Info: Model `Gray' substituted by `gray' on input line 1375. -Package xcolor Info: Model `wave' substituted by `hsb' on input line 1376. -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/preprint/authblk.sty -Package: authblk 2001/02/27 1.3 (PWD) -\affilsep=\skip49 -\@affilsep=\skip50 -\c@Maxaffil=\count190 -\c@authors=\count191 -\c@affil=\count192 -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/etoolbox/etoolbox.sty -Package: etoolbox 2020/10/05 v2.5k e-TeX tools for LaTeX (JAW) -\etb@tempcnta=\count193 -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/titlesec/titlesec.sty -Package: titlesec 2021/07/05 v2.14 Sectioning titles -\ttl@box=\box51 -\beforetitleunit=\skip51 -\aftertitleunit=\skip52 -\ttl@plus=\dimen143 -\ttl@minus=\dimen144 -\ttl@toksa=\toks17 -\titlewidth=\dimen145 -\titlewidthlast=\dimen146 -\titlewidthfirst=\dimen147 -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/tools/calc.sty -Package: calc 2017/05/25 v4.3 Infix arithmetic (KKT,FJ) -\calc@Acount=\count194 -\calc@Bcount=\count195 -\calc@Adimen=\dimen148 -\calc@Bdimen=\dimen149 -\calc@Askip=\skip53 -\calc@Bskip=\skip54 -LaTeX Info: Redefining \setlength on input line 80. -LaTeX Info: Redefining \addtolength on input line 81. -\calc@Ccount=\count196 -\calc@Cskip=\skip55 -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex -\pgfutil@everybye=\toks18 -\pgfutil@tempdima=\dimen150 -\pgfutil@tempdimb=\dimen151 -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.tex)) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def -\pgfutil@abb=\box52 -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/pgf.revision.tex) -Package: pgfrcs 2021/05/15 v3.1.9a (3.1.9a) -)) -Package: pgf 2021/05/15 v3.1.9a (3.1.9a) -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex -Package: pgfsys 2021/05/15 v3.1.9a (3.1.9a) -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex -\pgfkeys@pathtoks=\toks19 -\pgfkeys@temptoks=\toks20 -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex -\pgfkeys@tmptoks=\toks21 -)) -\pgf@x=\dimen152 -\pgf@y=\dimen153 -\pgf@xa=\dimen154 -\pgf@ya=\dimen155 -\pgf@xb=\dimen156 -\pgf@yb=\dimen157 -\pgf@xc=\dimen158 -\pgf@yc=\dimen159 -\pgf@xd=\dimen160 -\pgf@yd=\dimen161 -\w@pgf@writea=\write3 -\r@pgf@reada=\read2 -\c@pgf@counta=\count197 -\c@pgf@countb=\count198 -\c@pgf@countc=\count199 -\c@pgf@countd=\count266 -\t@pgf@toka=\toks22 -\t@pgf@tokb=\toks23 -\t@pgf@tokc=\toks24 -\pgf@sys@id@count=\count267 -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg -File: pgf.cfg 2021/05/15 v3.1.9a (3.1.9a) -) -Driver file for pgf: pgfsys-xetex.def -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-xetex.def -File: pgfsys-xetex.def 2021/05/15 v3.1.9a (3.1.9a) -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def -File: pgfsys-dvipdfmx.def 2021/05/15 v3.1.9a (3.1.9a) -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def -File: pgfsys-common-pdf.def 2021/05/15 v3.1.9a (3.1.9a) -) -\pgfsys@objnum=\count268 -))) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex -File: pgfsyssoftpath.code.tex 2021/05/15 v3.1.9a (3.1.9a) -\pgfsyssoftpath@smallbuffer@items=\count269 -\pgfsyssoftpath@bigbuffer@items=\count270 -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex -File: pgfsysprotocol.code.tex 2021/05/15 v3.1.9a (3.1.9a) -)) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex -Package: pgfcore 2021/05/15 v3.1.9a (3.1.9a) -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex -\pgfmath@dimen=\dimen162 -\pgfmath@count=\count271 -\pgfmath@box=\box53 -\pgfmath@toks=\toks25 -\pgfmath@stack@operand=\toks26 -\pgfmath@stack@operation=\toks27 -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric.code.tex) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.tex) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.code.tex) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.tex) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithmetics.code.tex))) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex -\c@pgfmathroundto@lastzeros=\count272 -)) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex -File: pgfcorepoints.code.tex 2021/05/15 v3.1.9a (3.1.9a) -\pgf@picminx=\dimen163 -\pgf@picmaxx=\dimen164 -\pgf@picminy=\dimen165 -\pgf@picmaxy=\dimen166 -\pgf@pathminx=\dimen167 -\pgf@pathmaxx=\dimen168 -\pgf@pathminy=\dimen169 -\pgf@pathmaxy=\dimen170 -\pgf@xx=\dimen171 -\pgf@xy=\dimen172 -\pgf@yx=\dimen173 -\pgf@yy=\dimen174 -\pgf@zx=\dimen175 -\pgf@zy=\dimen176 -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex -File: pgfcorepathconstruct.code.tex 2021/05/15 v3.1.9a (3.1.9a) -\pgf@path@lastx=\dimen177 -\pgf@path@lasty=\dimen178 -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex -File: pgfcorepathusage.code.tex 2021/05/15 v3.1.9a (3.1.9a) -\pgf@shorten@end@additional=\dimen179 -\pgf@shorten@start@additional=\dimen180 -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex -File: pgfcorescopes.code.tex 2021/05/15 v3.1.9a (3.1.9a) -\pgfpic=\box54 -\pgf@hbox=\box55 -\pgf@layerbox@main=\box56 -\pgf@picture@serial@count=\count273 -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex -File: pgfcoregraphicstate.code.tex 2021/05/15 v3.1.9a (3.1.9a) -\pgflinewidth=\dimen181 -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex -File: pgfcoretransformations.code.tex 2021/05/15 v3.1.9a (3.1.9a) -\pgf@pt@x=\dimen182 -\pgf@pt@y=\dimen183 -\pgf@pt@temp=\dimen184 -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex -File: pgfcorequick.code.tex 2021/05/15 v3.1.9a (3.1.9a) -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex -File: pgfcoreobjects.code.tex 2021/05/15 v3.1.9a (3.1.9a) -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex -File: pgfcorepathprocessing.code.tex 2021/05/15 v3.1.9a (3.1.9a) -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex -File: pgfcorearrows.code.tex 2021/05/15 v3.1.9a (3.1.9a) -\pgfarrowsep=\dimen185 -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex -File: pgfcoreshade.code.tex 2021/05/15 v3.1.9a (3.1.9a) -\pgf@max=\dimen186 -\pgf@sys@shading@range@num=\count274 -\pgf@shadingcount=\count275 -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex -File: pgfcoreimage.code.tex 2021/05/15 v3.1.9a (3.1.9a) -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex -File: pgfcoreexternal.code.tex 2021/05/15 v3.1.9a (3.1.9a) -\pgfexternal@startupbox=\box57 -)) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex -File: pgfcorelayers.code.tex 2021/05/15 v3.1.9a (3.1.9a) -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex -File: pgfcoretransparency.code.tex 2021/05/15 v3.1.9a (3.1.9a) -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex -File: pgfcorepatterns.code.tex 2021/05/15 v3.1.9a (3.1.9a) -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex -File: pgfcorerdf.code.tex 2021/05/15 v3.1.9a (3.1.9a) -))) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex -File: pgfmoduleshapes.code.tex 2021/05/15 v3.1.9a (3.1.9a) -\pgfnodeparttextbox=\box58 -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex -File: pgfmoduleplot.code.tex 2021/05/15 v3.1.9a (3.1.9a) -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty -Package: pgfcomp-version-0-65 2021/05/15 v3.1.9a (3.1.9a) -\pgf@nodesepstart=\dimen187 -\pgf@nodesepend=\dimen188 -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty -Package: pgfcomp-version-1-18 2021/05/15 v3.1.9a (3.1.9a) -)) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/pgf/utilities/pgffor.sty (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex)) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/pgf/math/pgfmath.sty (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex -Package: pgffor 2021/05/15 v3.1.9a (3.1.9a) -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex) -\pgffor@iter=\dimen189 -\pgffor@skip=\dimen190 -\pgffor@stack=\toks28 -\pgffor@toks=\toks29 -)) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex -Package: tikz 2021/05/15 v3.1.9a (3.1.9a) -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex -File: pgflibraryplothandlers.code.tex 2021/05/15 v3.1.9a (3.1.9a) -\pgf@plot@mark@count=\count276 -\pgfplotmarksize=\dimen191 -) -\tikz@lastx=\dimen192 -\tikz@lasty=\dimen193 -\tikz@lastxsaved=\dimen194 -\tikz@lastysaved=\dimen195 -\tikz@lastmovetox=\dimen196 -\tikz@lastmovetoy=\dimen197 -\tikzleveldistance=\dimen198 -\tikzsiblingdistance=\dimen199 -\tikz@figbox=\box59 -\tikz@figbox@bg=\box60 -\tikz@tempbox=\box61 -\tikz@tempbox@bg=\box62 -\tikztreelevel=\count277 -\tikznumberofchildren=\count278 -\tikznumberofcurrentchild=\count279 -\tikz@fig@count=\count280 -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex -File: pgfmodulematrix.code.tex 2021/05/15 v3.1.9a (3.1.9a) -\pgfmatrixcurrentrow=\count281 -\pgfmatrixcurrentcolumn=\count282 -\pgf@matrix@numberofcolumns=\count283 -) -\tikz@expandcount=\count284 -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex -File: tikzlibrarytopaths.code.tex 2021/05/15 v3.1.9a (3.1.9a) -))) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/hyperref/hyperref.sty -Package: hyperref 2022-09-22 v7.00t Hypertext links for LaTeX -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -Package: ltxcmds 2020-05-10 v1.25 LaTeX kernel commands for general use (HO) -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/iftex/iftex.sty -Package: iftex 2022/02/03 v1.0f TeX engine tests -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -Package: pdftexcmds 2020-06-27 v0.33 Utility functions of pdfTeX for LuaTeX (HO) -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/infwarerr/infwarerr.sty -Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO) -) -Package pdftexcmds Info: \pdf@primitive is available. -Package pdftexcmds Info: \pdf@ifprimitive is available. -Package pdftexcmds Info: \pdfdraftmode not found. -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty -Package: kvsetkeys 2019/12/15 v1.18 Key value parser (HO) -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty -Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO) -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/pdfescape/pdfescape.sty -Package: pdfescape 2019/12/09 v1.15 Implements pdfTeX's escape features (HO) -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/hycolor/hycolor.sty -Package: hycolor 2020-01-27 v1.10 Color options for hyperref/bookmark (HO) -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty -Package: letltxmacro 2019/12/03 v1.6 Let assignment for LaTeX macros (HO) -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/auxhook/auxhook.sty -Package: auxhook 2019-12-17 v1.6 Hooks for auxiliary files (HO) -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/hyperref/nameref.sty -Package: nameref 2022-05-17 v2.50 Cross-referencing by name of section -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/refcount/refcount.sty -Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO) -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty -Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO) -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/kvoptions/kvoptions.sty -Package: kvoptions 2022-06-15 v3.15 Key value format for package options (HO) -)) -\c@section@level=\count285 -) -\@linkdim=\dimen256 -\Hy@linkcounter=\count286 -\Hy@pagecounter=\count287 -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/hyperref/pd1enc.def -File: pd1enc.def 2022-09-22 v7.00t Hyperref: PDFDocEncoding definition (HO) -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/intcalc/intcalc.sty -Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO) -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/etexcmds/etexcmds.sty -Package: etexcmds 2019/12/15 v1.7 Avoid name clashes with e-TeX commands (HO) -) -\Hy@SavedSpaceFactor=\count288 -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/hyperref/puenc.def -File: puenc.def 2022-09-22 v7.00t Hyperref: PDF Unicode definition (HO) -) -Package hyperref Info: Hyper figures OFF on input line 4162. -Package hyperref Info: Link nesting OFF on input line 4167. -Package hyperref Info: Hyper index ON on input line 4170. -Package hyperref Info: Plain pages OFF on input line 4177. -Package hyperref Info: Backreferencing OFF on input line 4182. -Package hyperref Info: Implicit mode ON; LaTeX internals redefined. -Package hyperref Info: Bookmarks ON on input line 4410. -\c@Hy@tempcnt=\count289 -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/url/url.sty -\Urlmuskip=\muskip16 -Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. -) -LaTeX Info: Redefining \url on input line 4748. -\XeTeXLinkMargin=\dimen257 -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/bitset/bitset.sty -Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO) -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO) -)) -\Fld@menulength=\count290 -\Field@Width=\dimen258 -\Fld@charsize=\dimen259 -Package hyperref Info: Hyper figures OFF on input line 6027. -Package hyperref Info: Link nesting OFF on input line 6032. -Package hyperref Info: Hyper index ON on input line 6035. -Package hyperref Info: backreferencing OFF on input line 6042. -Package hyperref Info: Link coloring OFF on input line 6047. -Package hyperref Info: Link coloring with OCG OFF on input line 6052. -Package hyperref Info: PDF/A mode OFF on input line 6057. -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/base/atbegshi-ltx.sty -Package: atbegshi-ltx 2021/01/10 v1.0c Emulation of the original atbegshi -package with kernel methods -) -\Hy@abspage=\count291 -\c@Item=\count292 -\c@Hfootnote=\count293 -) -Package hyperref Info: Driver (autodetected): hxetex. -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/hyperref/hxetex.def -File: hxetex.def 2022-09-22 v7.00t Hyperref driver for XeTeX -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/stringenc/stringenc.sty -Package: stringenc 2019/11/29 v1.12 Convert strings between diff. encodings (HO) -) -\pdfm@box=\box63 -\c@Hy@AnnotLevel=\count294 -\HyField@AnnotCount=\count295 -\Fld@listcount=\count296 -\c@bookmark@seq@number=\count297 -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty -Package: rerunfilecheck 2022-07-10 v1.10 Rerun checks for auxiliary files (HO) -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/base/atveryend-ltx.sty -Package: atveryend-ltx 2020/08/19 v1.0a Emulation of the original atveryend package -with kernel methods -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty -Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO) -) -Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 285. -) -\Hy@SectionHShift=\skip56 -) -Package hyperref Info: Option `colorlinks' set `true' on input line 12. -Package hyperref Info: Option `breaklinks' set `true' on input line 12. -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/caption/caption.sty -Package: caption 2022/03/01 v3.6b Customizing captions (AR) -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/caption/caption3.sty -Package: caption3 2022/03/17 v2.3b caption3 kernel (AR) -\caption@tempdima=\dimen260 -\captionmargin=\dimen261 -\caption@leftmargin=\dimen262 -\caption@rightmargin=\dimen263 -\caption@width=\dimen264 -\caption@indent=\dimen265 -\caption@parindent=\dimen266 -\caption@hangindent=\dimen267 -Package caption Info: Standard document class detected. -) -\c@caption@flags=\count298 -\c@continuedfloat=\count299 -Package caption Info: hyperref package is loaded. -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty -Package: tcolorbox 2022/06/24 version 5.1.1 text color boxes -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/tools/verbatim.sty -Package: verbatim 2020-07-07 v1.5u LaTeX2e package for verbatim enhancements -\every@verbatim=\toks30 -\verbatim@line=\toks31 -\verbatim@in@stream=\read3 -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/environ/environ.sty -Package: environ 2014/05/04 v0.3 A new way to define environments -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/trimspaces/trimspaces.sty -Package: trimspaces 2009/09/17 v1.1 Trim spaces around a token list -) -\@envbody=\toks32 -) -\tcb@titlebox=\box64 -\tcb@upperbox=\box65 -\tcb@lowerbox=\box66 -\tcb@phantombox=\box67 -\c@tcbbreakpart=\count300 -\c@tcblayer=\count301 -\c@tcolorbox@number=\count302 -\tcb@temp=\box68 -\tcb@temp=\box69 -\tcb@temp=\box70 -\tcb@temp=\box71 -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/amsfonts/amssymb.sty -Package: amssymb 2013/01/14 v3.01 AMS font symbols -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/amsfonts/amsfonts.sty -Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support -\@emptytoks=\toks33 -\symAMSa=\mathgroup4 -\symAMSb=\mathgroup5 -LaTeX Font Info: Redeclaring math symbol \hbar on input line 98. -LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' -(Font) U/euf/m/n --> U/euf/b/n on input line 106. -)) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/amsmath/amsmath.sty -Package: amsmath 2022/04/08 v2.17n AMS math features -\@mathmargin=\skip57 -For additional information on amsmath, use the `?' option. -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/amsmath/amstext.sty -Package: amstext 2021/08/26 v2.01 AMS text -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/amsmath/amsgen.sty -File: amsgen.sty 1999/11/30 v2.0 generic functions -\@emptytoks=\toks34 -\ex@=\dimen268 -)) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/amsmath/amsbsy.sty -Package: amsbsy 1999/11/29 v1.2d Bold Symbols -\pmbraise@=\dimen269 -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/amsmath/amsopn.sty -Package: amsopn 2022/04/08 v2.04 operator names -) -\inf@bad=\count303 -LaTeX Info: Redefining \frac on input line 234. -\uproot@=\count304 -\leftroot@=\count305 -LaTeX Info: Redefining \overline on input line 399. -LaTeX Info: Redefining \colon on input line 410. -\classnum@=\count306 -\DOTSCASE@=\count307 -LaTeX Info: Redefining \ldots on input line 496. -LaTeX Info: Redefining \dots on input line 499. -LaTeX Info: Redefining \cdots on input line 620. -\Mathstrutbox@=\box72 -\strutbox@=\box73 -LaTeX Info: Redefining \big on input line 722. -LaTeX Info: Redefining \Big on input line 723. -LaTeX Info: Redefining \bigg on input line 724. -LaTeX Info: Redefining \Bigg on input line 725. -\big@size=\dimen270 -LaTeX Font Info: Redeclaring font encoding OML on input line 743. -LaTeX Font Info: Redeclaring font encoding OMS on input line 744. -\macc@depth=\count308 -LaTeX Info: Redefining \bmod on input line 905. -LaTeX Info: Redefining \pmod on input line 910. -LaTeX Info: Redefining \smash on input line 940. -LaTeX Info: Redefining \relbar on input line 970. -LaTeX Info: Redefining \Relbar on input line 971. -\c@MaxMatrixCols=\count309 -\dotsspace@=\muskip17 -\c@parentequation=\count310 -\dspbrk@lvl=\count311 -\tag@help=\toks35 -\row@=\count312 -\column@=\count313 -\maxfields@=\count314 -\andhelp@=\toks36 -\eqnshift@=\dimen271 -\alignsep@=\dimen272 -\tagshift@=\dimen273 -\tagwidth@=\dimen274 -\totwidth@=\dimen275 -\lineht@=\dimen276 -\@envbody=\toks37 -\multlinegap=\skip58 -\multlinetaggap=\skip59 -\mathdisplay@stack=\toks38 -LaTeX Info: Redefining \[ on input line 2953. -LaTeX Info: Redefining \] on input line 2954. -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/iftex/ifxetex.sty -Package: ifxetex 2019/10/25 v0.7 ifxetex legacy package. Use iftex instead. -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/iftex/ifluatex.sty -Package: ifluatex 2019/10/25 v1.5 ifluatex legacy package. Use iftex instead. -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/seqsplit/seqsplit.sty -Package: seqsplit 2006/08/07 v0.1 Splitting long sequences (DNA, RNA, proteins, etc.) -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/base/fixltx2e.sty -Package: fixltx2e 2016/12/29 v2.1a fixes to LaTeX (obsolete) -Applying: [2015/01/01] Old fixltx2e package on input line 46. - -Package fixltx2e Warning: fixltx2e is not required with releases after 2015 -(fixltx2e) All fixes are now in the LaTeX kernel. -(fixltx2e) See the latexrelease package for details. - -Already applied: [0000/00/00] Old fixltx2e package on input line 53. -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/biblatex/biblatex.sty -Package: biblatex 2022/07/12 v3.18b programmable bibliographies (PK/MW) -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/logreq/logreq.sty -Package: logreq 2010/08/04 v1.0 xml request logger -\lrq@indent=\count315 -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/logreq/logreq.def -File: logreq.def 2010/08/04 v1.0 logreq spec v1.0 -)) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/base/ifthen.sty -Package: ifthen 2022/04/13 v1.1d Standard LaTeX ifthen package (DPC) -) -\c@tabx@nest=\count316 -\c@listtotal=\count317 -\c@listcount=\count318 -\c@liststart=\count319 -\c@liststop=\count320 -\c@citecount=\count321 -\c@citetotal=\count322 -\c@multicitecount=\count323 -\c@multicitetotal=\count324 -\c@instcount=\count325 -\c@maxnames=\count326 -\c@minnames=\count327 -\c@maxitems=\count328 -\c@minitems=\count329 -\c@citecounter=\count330 -\c@maxcitecounter=\count331 -\c@savedcitecounter=\count332 -\c@uniquelist=\count333 -\c@uniquename=\count334 -\c@refsection=\count335 -\c@refsegment=\count336 -\c@maxextratitle=\count337 -\c@maxextratitleyear=\count338 -\c@maxextraname=\count339 -\c@maxextradate=\count340 -\c@maxextraalpha=\count341 -\c@abbrvpenalty=\count342 -\c@highnamepenalty=\count343 -\c@lownamepenalty=\count344 -\c@maxparens=\count345 -\c@parenlevel=\count346 -\blx@tempcnta=\count347 -\blx@tempcntb=\count348 -\blx@tempcntc=\count349 -\c@blx@maxsection=\count350 -\blx@maxsegment@0=\count351 -\blx@notetype=\count352 -\blx@parenlevel@text=\count353 -\blx@parenlevel@foot=\count354 -\blx@sectionciteorder@0=\count355 -\blx@sectionciteorderinternal@0=\count356 -\blx@entrysetcounter=\count357 -\blx@biblioinstance=\count358 -\labelnumberwidth=\skip60 -\labelalphawidth=\skip61 -\biblabelsep=\skip62 -\bibitemsep=\skip63 -\bibnamesep=\skip64 -\bibinitsep=\skip65 -\bibparsep=\skip66 -\bibhang=\skip67 -\blx@bcfin=\read4 -\blx@bcfout=\write4 -\blx@langwohyphens=\language3 -\c@mincomprange=\count359 -\c@maxcomprange=\count360 -\c@mincompwidth=\count361 -Package biblatex Info: Trying to load biblatex default data model... -Package biblatex Info: ... file 'blx-dm.def' found. -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/biblatex/blx-dm.def -File: blx-dm.def 2022/07/12 v3.18b biblatex localization (PK/MW) -) -Package biblatex Info: Trying to load biblatex custom data model... -Package biblatex Info: ... file 'biblatex-dm.cfg' not found. -\c@afterword=\count362 -\c@savedafterword=\count363 -\c@annotator=\count364 -\c@savedannotator=\count365 -\c@author=\count366 -\c@savedauthor=\count367 -\c@bookauthor=\count368 -\c@savedbookauthor=\count369 -\c@commentator=\count370 -\c@savedcommentator=\count371 -\c@editor=\count372 -\c@savededitor=\count373 -\c@editora=\count374 -\c@savededitora=\count375 -\c@editorb=\count376 -\c@savededitorb=\count377 -\c@editorc=\count378 -\c@savededitorc=\count379 -\c@foreword=\count380 -\c@savedforeword=\count381 -\c@holder=\count382 -\c@savedholder=\count383 -\c@introduction=\count384 -\c@savedintroduction=\count385 -\c@namea=\count386 -\c@savednamea=\count387 -\c@nameb=\count388 -\c@savednameb=\count389 -\c@namec=\count390 -\c@savednamec=\count391 -\c@translator=\count392 -\c@savedtranslator=\count393 -\c@shortauthor=\count394 -\c@savedshortauthor=\count395 -\c@shorteditor=\count396 -\c@savedshorteditor=\count397 -\c@labelname=\count398 -\c@savedlabelname=\count399 -\c@institution=\count400 -\c@savedinstitution=\count401 -\c@lista=\count402 -\c@savedlista=\count403 -\c@listb=\count404 -\c@savedlistb=\count405 -\c@listc=\count406 -\c@savedlistc=\count407 -\c@listd=\count408 -\c@savedlistd=\count409 -\c@liste=\count410 -\c@savedliste=\count411 -\c@listf=\count412 -\c@savedlistf=\count413 -\c@location=\count414 -\c@savedlocation=\count415 -\c@organization=\count416 -\c@savedorganization=\count417 -\c@origlocation=\count418 -\c@savedoriglocation=\count419 -\c@origpublisher=\count420 -\c@savedorigpublisher=\count421 -\c@publisher=\count422 -\c@savedpublisher=\count423 -\c@language=\count424 -\c@savedlanguage=\count425 -\c@origlanguage=\count426 -\c@savedoriglanguage=\count427 -\c@pageref=\count428 -\c@savedpageref=\count429 -\shorthandwidth=\skip68 -\shortjournalwidth=\skip69 -\shortserieswidth=\skip70 -\shorttitlewidth=\skip71 -\shortauthorwidth=\skip72 -\shorteditorwidth=\skip73 -\locallabelnumberwidth=\skip74 -\locallabelalphawidth=\skip75 -\localshorthandwidth=\skip76 -\localshortjournalwidth=\skip77 -\localshortserieswidth=\skip78 -\localshorttitlewidth=\skip79 -\localshortauthorwidth=\skip80 -\localshorteditorwidth=\skip81 -Package biblatex Info: Trying to load enhanced support for Unicode engines... -Package biblatex Info: ... file 'blx-unicode.def' found. -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/biblatex/blx-unicode.def) -Package biblatex Info: Trying to load compatibility code... -Package biblatex Info: ... file 'blx-compat.def' found. -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/biblatex/blx-compat.def -File: blx-compat.def 2022/07/12 v3.18b biblatex compatibility (PK/MW) -) -Package biblatex Info: Trying to load generic definitions... -Package biblatex Info: ... file 'biblatex.def' found. -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/biblatex/biblatex.def -File: biblatex.def 2022/07/12 v3.18b biblatex compatibility (PK/MW) -\c@textcitecount=\count430 -\c@textcitetotal=\count431 -\c@textcitemaxnames=\count432 -\c@biburlbigbreakpenalty=\count433 -\c@biburlbreakpenalty=\count434 -\c@biburlnumpenalty=\count435 -\c@biburlucpenalty=\count436 -\c@biburllcpenalty=\count437 -\biburlbigskip=\muskip18 -\biburlnumskip=\muskip19 -\biburlucskip=\muskip20 -\biburllcskip=\muskip21 -\c@smartand=\count438 -) -Package biblatex Info: Trying to load bibliography style 'numeric'... -Package biblatex Info: ... file 'numeric.bbx' found. -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/biblatex/bbx/numeric.bbx -File: numeric.bbx 2022/07/12 v3.18b biblatex bibliography style (PK/MW) -Package biblatex Info: Trying to load bibliography style 'standard'... -Package biblatex Info: ... file 'standard.bbx' found. -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/biblatex/bbx/standard.bbx -File: standard.bbx 2022/07/12 v3.18b biblatex bibliography style (PK/MW) -\c@bbx:relatedcount=\count439 -\c@bbx:relatedtotal=\count440 -)) -Package biblatex Info: Trying to load citation style 'numeric'... -Package biblatex Info: ... file 'numeric.cbx' found. -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/biblatex/cbx/numeric.cbx -File: numeric.cbx 2022/07/12 v3.18b biblatex citation style (PK/MW) -Package biblatex Info: Redefining '\cite'. -Package biblatex Info: Redefining '\parencite'. -Package biblatex Info: Redefining '\footcite'. -Package biblatex Info: Redefining '\footcitetext'. -Package biblatex Info: Redefining '\smartcite'. -Package biblatex Info: Redefining '\supercite'. -Package biblatex Info: Redefining '\textcite'. -Package biblatex Info: Redefining '\textcites'. -Package biblatex Info: Redefining '\cites'. -Package biblatex Info: Redefining '\parencites'. -Package biblatex Info: Redefining '\smartcites'. -) -Package biblatex Info: Trying to load configuration file... -Package biblatex Info: ... file 'biblatex.cfg' found. -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/biblatex/biblatex.cfg -File: biblatex.cfg -) -Package biblatex Info: XeTeX detected. -(biblatex) Assuming input encoding 'utf8'. -Package biblatex Info: Document encoding is UTF8 .... -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/l3kernel/expl3.sty -Package: expl3 2022-08-30 L3 programming layer (loader) -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/l3backend/l3backend-xetex.def -File: l3backend-xetex.def 2022-08-30 L3 backend support: XeTeX -\g__graphics_track_int=\count441 -\l__pdf_internal_box=\box74 -\g__pdf_backend_object_int=\count442 -\g__pdf_backend_annotation_int=\count443 -\g__pdf_backend_link_int=\count444 -)) -Package biblatex Info: ... and expl3 -(biblatex) 2022-08-30 L3 programming layer (loader) -(biblatex) is new enough (at least 2020/04/06), -(biblatex) setting 'casechanger=expl3'. -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/biblatex/blx-case-expl3.sty (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/l3packages/xparse/xparse.sty -Package: xparse 2022-06-22 L3 Experimental document command parser -) -Package: blx-case-expl3 2022/07/12 v3.18b expl3 case changing code for biblatex -)) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/geometry/geometry.sty -Package: geometry 2020/01/02 v5.9 Page Geometry -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/iftex/ifvtex.sty -Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead. -) -\Gm@cnth=\count445 -\Gm@cntv=\count446 -\c@Gm@tempcnt=\count447 -\Gm@bindingoffset=\dimen277 -\Gm@wd@mp=\dimen278 -\Gm@odd@mp=\dimen279 -\Gm@even@mp=\dimen280 -\Gm@layoutwidth=\dimen281 -\Gm@layoutheight=\dimen282 -\Gm@layouthoffset=\dimen283 -\Gm@layoutvoffset=\dimen284 -\Gm@dimlist=\toks39 -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty -Package: fancyhdr 2022/05/18 v4.0.3 Extensive control of page headers and footers -\f@nch@headwidth=\skip82 -\f@nch@O@elh=\skip83 -\f@nch@O@erh=\skip84 -\f@nch@O@olh=\skip85 -\f@nch@O@orh=\skip86 -\f@nch@O@elf=\skip87 -\f@nch@O@erf=\skip88 -\f@nch@O@olf=\skip89 -\f@nch@O@orf=\skip90 -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/xelatex/mathspec/mathspec.sty -Package: mathspec 2016/12/22 v0.2b LaTeX Package (Mathematics font selection for XeLaTeX) -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/fontspec/fontspec.sty -Package: fontspec 2022/01/15 v2.8a Font selection for XeLaTeX and LuaLaTeX -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty -Package: fontspec-xetex 2022/01/15 v2.8a Font selection for XeLaTeX and LuaLaTeX -\l__fontspec_script_int=\count448 -\l__fontspec_language_int=\count449 -\l__fontspec_strnum_int=\count450 -\l__fontspec_tmp_int=\count451 -\l__fontspec_tmpa_int=\count452 -\l__fontspec_tmpb_int=\count453 -\l__fontspec_tmpc_int=\count454 -\l__fontspec_em_int=\count455 -\l__fontspec_emdef_int=\count456 -\l__fontspec_strong_int=\count457 -\l__fontspec_strongdef_int=\count458 -\l__fontspec_tmpa_dim=\dimen285 -\l__fontspec_tmpb_dim=\dimen286 -\l__fontspec_tmpc_dim=\dimen287 -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/base/fontenc.sty -Package: fontenc 2021/04/29 v2.0v Standard LaTeX package -) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/fontspec/fontspec.cfg))) (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/xkeyval/xkeyval.sty -Package: xkeyval 2022/06/16 v2.9 package option processing (HA) -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/xkeyval/xkeyval.tex (/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/generic/xkeyval/xkvutils.tex -\XKV@toks=\toks40 -\XKV@tempa@toks=\toks41 -) -\XKV@depth=\count459 -File: xkeyval.tex 2014/12/03 v2.7a key=value parser (HA) -)) -\c@eu@=\count460 -\c@eu@i=\count461 -\c@mkern=\count462 -) -Package hyperref Info: Option `unicode' set `true' on input line 151. -Package hyperref Info: Option `breaklinks' set `true' on input line 151. -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/grffile/grffile.sty -Package: grffile 2019/11/11 v2.1 Extended file name support for graphics (legacy) -Package grffile Info: This package is an empty stub for compatibility on input line 40. -) -\cslhangindent=\skip91 -\csllabelwidth=\skip92 -\cslentryspacingunit=\skip93 -\@quotelevel=\count463 -\@quotereset=\count464 -(./paper.aux) -\openout1 = `paper.aux'. - -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 236. -LaTeX Font Info: ... okay on input line 236. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 236. -LaTeX Font Info: ... okay on input line 236. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 236. -LaTeX Font Info: ... okay on input line 236. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 236. -LaTeX Font Info: ... okay on input line 236. -LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 236. -LaTeX Font Info: Trying to load font information for TS1+cmr on input line 236. -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/base/ts1cmr.fd -File: ts1cmr.fd 2019/12/16 v2.5j Standard LaTeX font definitions -) -LaTeX Font Info: ... okay on input line 236. -LaTeX Font Info: Checking defaults for TU/lmr/m/n on input line 236. -LaTeX Font Info: ... okay on input line 236. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 236. -LaTeX Font Info: ... okay on input line 236. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 236. -LaTeX Font Info: ... okay on input line 236. -LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 236. -LaTeX Font Info: ... okay on input line 236. -LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 236. -LaTeX Font Info: ... okay on input line 236. -Package hyperref Info: Link coloring ON on input line 236. -(./paper.out) (./paper.out) -\@outlinefile=\write5 -\openout5 = `paper.out'. - -Package caption Info: Begin \AtBeginDocument code. -Package caption Info: End \AtBeginDocument code. -Package biblatex Info: Trying to load language 'english'... -Package biblatex Info: ... file 'english.lbx' found. -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/biblatex/lbx/english.lbx -File: english.lbx 2022/07/12 v3.18b biblatex localization (PK/MW) -) -Package biblatex Info: XeTeX detected. -(biblatex) Assuming input encoding 'utf8'. -Package biblatex Info: Automatic encoding selection. -(biblatex) Assuming data encoding 'utf8'. -\openout4 = `paper.bcf'. - -Package biblatex Info: Trying to load bibliographic data... -Package biblatex Info: ... file 'paper.bbl' not found. -No file paper.bbl. -Package biblatex Info: Reference section=0 on input line 236. -Package biblatex Info: Reference segment=0 on input line 236. -*geometry* driver: auto-detecting -*geometry* detected driver: xetex -*geometry* verbose mode - [ preamble ] result: -* driver: xetex -* paper: a4paper -* layout: -* layoutoffset:(h,v)=(0.0pt,0.0pt) -* modes: includemp -* h-part:(L,W,R)=(28.45274pt, 526.376pt, 42.67912pt) -* v-part:(T,H,B)=(99.58464pt, 660.10394pt, 85.35826pt) -* \paperwidth=597.50787pt -* \paperheight=845.04684pt -* \textwidth=387.33861pt -* \textheight=660.10394pt -* \oddsidemargin=95.22015pt -* \evensidemargin=95.22015pt -* \topmargin=-60.28131pt -* \headheight=62.59596pt -* \headsep=25.0pt -* \topskip=10.0pt -* \footskip=30.0pt -* \marginparwidth=128.0374pt -* \marginparsep=11.0pt -* \columnsep=10.0pt -* \skip\footins=9.0pt plus 4.0pt minus 2.0pt -* \hoffset=0.0pt -* \voffset=0.0pt -* \mag=1000 -* \@twocolumnfalse -* \@twosidefalse -* \@mparswitchfalse -* \@reversemargintrue -* (1in=72.27pt=25.4mm, 1cm=28.453pt) - -LaTeX Font Info: Trying to load font information for U+msa on input line 237. -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/amsfonts/umsa.fd -File: umsa.fd 2013/01/14 v3.01 AMS symbols A -) -LaTeX Font Info: Trying to load font information for U+msb on input line 237. -(/Users/indrajeetpatil/Library/TinyTeX/texmf-dist/tex/latex/amsfonts/umsb.fd -File: umsb.fd 2013/01/14 v3.01 AMS symbols B -) - -Package hyperref Warning: Suppressing link with empty target on input line 263. - - -Package hyperref Warning: Suppressing link with empty target on input line 263. - - -Package hyperref Warning: Suppressing link with empty target on input line 263. - -File: /Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/library/rticles/rmarkdown/templates/joss/resources/JOSS-logo.png Graphic file (type bmp) - - -Package fancyhdr Warning: \headheight is too small (62.59596pt): -(fancyhdr) Make it at least 63.55022pt, for example: -(fancyhdr) \setlength{\headheight}{63.55022pt}. -(fancyhdr) You might also make \topmargin smaller to compensate: -(fancyhdr) \addtolength{\topmargin}{-0.95425pt}. - -LaTeX Font Info: Font shape `TU/lmss/m/it' in size <8> not available -(Font) Font shape `TU/lmss/m/sl' tried instead on input line 320. -[1 - -] -File: /Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/library/rticles/rmarkdown/templates/joss/resources/JOSS-logo.png Graphic file (type bmp) - - -Package fancyhdr Warning: \headheight is too small (62.59596pt): -(fancyhdr) Make it at least 63.55022pt, for example: -(fancyhdr) \setlength{\headheight}{63.55022pt}. -(fancyhdr) You might also make \topmargin smaller to compensate: -(fancyhdr) \addtolength{\topmargin}{-0.95425pt}. - -[2] (./paper.aux) -Package rerunfilecheck Info: File `paper.out' has not changed. -(rerunfilecheck) Checksum: AF0A0FC33DB9A418A05C62053F098D95;691. -Package logreq Info: Writing requests to 'paper.run.xml'. -\openout1 = `paper.run.xml'. - - ) -Here is how much of TeX's memory you used: - 34400 strings out of 477747 - 713409 string characters out of 5842604 - 1495368 words of memory out of 5000000 - 54943 multiletter control sequences out of 15000+600000 - 476123 words of font info for 75 fonts, out of 8000000 for 9000 - 14 hyphenation exceptions out of 8191 - 84i,12n,81p,678b,846s stack positions out of 10000i,1000n,20000p,200000b,200000s - -Output written on paper.pdf (2 pages). diff --git a/paper/paper.md b/paper/paper.md index 922fdc2f..1c9945aa 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -3,6 +3,9 @@ title: "report: Automated Reporting of Results and Statistical Models in R" tags: - R - easystats + - statistical reporting + - tables + - manuscript authors: - affiliation: 1 name: Dominique Makowski @@ -19,45 +22,378 @@ authors: - affiliation: 5 name: Daniel Lüdecke orcid: 0000-0002-8895-3206 - +- affiliation: 6 + name: Rémi Thériault + orcid: 0000-0003-4315-6788 + affiliations: - index: 1 name: Nanyang Technological University, Singapore - index: 2 - name: cynkra Analytics GmbH, Germany + name: Center for Humans and Machines, Max Planck Institute for Human Development, Berlin, Germany - index: 3 - name: Ben-Gurion University of the Negev, Israel + name: Independent Researcher - index: 4 name: Independent Researcher - index: 5 name: University Medical Center Hamburg-Eppendorf, Germany - -date: "2022-10-09" -bibliography: paper.bib -output: rticles::joss_article +- index: 6 + name: Université du Québec à Montréal, Montréal, Canada + +date: "2024-05-26" + +output: + md_document: + variant: "markdown" + preserve_yaml: true + standalone: true csl: apa.csl -journal: JOSS +bibliography: paper.bib link-citations: yes --- - - # Summary -The `{report}` package for the R programming language [@base2021] provides +The `{report}` package is a powerful tool for researchers who use R to +analyze data and create reports for publication. It bridges the gap +between R's output and the formatted results to be included in a +manuscript, allowing users to easily convert statistical models and data +frames into textual reports that are suitable for publication. This +paper provides an overview of this package, including its features, +advantages, and ways to use it. We also provide examples of how the +package can be used to standardize and improve results reporting in R. # Statement of Need -The `{report}` package is part of `{easystats}`, a collection of R packages designed to make statistical analysis easier (@Ben-Shachar2020, @Lüdecke2020parameters, @Lüdecke2020performance, @Lüdecke2021see, @Lüdecke2019, @Makowski2019, @Makowski2020, @Patil2022datawizard). +Reporting results is a crucial part of scientific research. Researchers +need to ensure that their results are reported accurately and clearly, +so that other researchers can understand and reproduce their work. +However, the process of results reporting can be time-consuming and +error-prone, particularly when it comes to formatting data for +publication [@nuijten2016prevalence]. The `{report}` package was +developed to address this problem, providing researchers with a tool +that can help standardize and improve reporting results from their +workflows in R. `{report}` is part of the *easystats* ecosystem of +packages that build an R framework for easy statistical modeling, +visualization, and reporting [@easystatspackage]. # Features +The package includes several features that make it a valuable tool for +researchers. It can convert statistical models and data frames into +textual reports, which can be easily customized and formatted to meet +the requirements of a particular journal or publication. It can also +automatically report demographics information from column names. The +package supports a wide range of output formats, including HTML, LaTeX, +and Microsoft Word, via RMarkdown. + +Using this package in an analytic workflow has several advantages. +First, it can help standardize results reporting across a research team +or project, ensuring that everyone is using the same format and style. +Second, the package can save researchers time by automating many of the +tasks involved in reporting results, such as formatting tables and text. +Third, the package can improve the quality of results reporting by +providing users with a tool that is specifically designed for this +purpose. Additionally, it prevents any copy-and-paste errors. + +The examples below illustrate the ease with which `{report}` can create +detailed textual or tabular summaries for statistical objects. + +## Demographics + +Note that when using `rmarkdown`, setting a chunk option to +`results = "asis"` will print the output as regular text, as below, for +a rather seamless reading experience. + +``` r +library(report) + +data <- data.frame( + "Age" = c(22, 23, 54, 21, 8, 42, 18, 32, 24, 27, 45), + "Sex" = c("Intersex", "F", "F", "M", "M", "M", "F", "F", "F", "F", "F"), + "Gender" = c("N", "W", "W", "M", "M", "M", "W", "W", "W", "W", "W"), + "Race" = c( + "Black", NA, "White", "Asian", "Black", "Arab", "Black", + "White", "Asian", "Southeast Asian", "Mixed" + ), + "Education" = c( + "Bachelor", "PhD", "Highschool", "Master", "Bachelor", + "Highschool", "Highschool", "Bachelor", "Bachelor", + "Highschool", "Master" + ), + "Country" = c( + "USA", NA, "Canada", "Canada", "India", "Germany", "USA", + "USA", "USA", "USA", "Canada" + ) +) + +cat(paste0( + "This study includes data from ", + report_participants(data), "." +)) +``` + +This study includes data from 11 participants (Mean age = 28.7, SD = +13.4, range: \[8, 54\]; Sex: 63.6% females, 27.3% males, 9.1% other; +Gender: 63.6% women, 27.3% men, 9.09% non-binary; Education: Bachelor, +36.36%; Highschool, 36.36%; Master, 18.18%; PhD, 9.09%; Country: 45.45% +USA, 27.27% Canada, 27.27% other; Race: 27.27% Black, 18.18% Asian, +18.18% White, 36.36% other). + +## Models + +``` r +m_lm <- lm(mpg ~ qsec + wt, data = mtcars) +report(m_lm) +``` + +::: {.blackbox data-latex=""} +We fitted a linear model (estimated using OLS) to predict mpg with qsec +and wt (formula: mpg \~ qsec + wt). The model explains a statistically +significant and substantial proportion of variance (R2 = 0.83, F(2, 29) += 69.03, p \< .001, adj. R2 = 0.81). The model's intercept, +corresponding to qsec = 0 and wt = 0, is at 19.75 (95% CI \[9.00, +30.49\], t(29) = 3.76, p \< .001). Within this model: + +- The effect of qsec is statistically significant and positive (beta = + 0.93, 95% CI \[0.39, 1.47\], t(29) = 3.51, p = 0.001; Std. beta = + 0.28, 95% CI \[0.11, 0.44\]) +- The effect of wt is statistically significant and negative (beta = + -5.05, 95% CI \[-6.04, -4.06\], t(29) = -10.43, p \< .001; Std. beta + = -0.82, 95% CI \[-0.98, -0.66\]) + +Standardized parameters were obtained by fitting the model on a +standardized version of the dataset. 95% Confidence Intervals (CIs) and +p-values were computed using a Wald t-distribution approximation. +::: + +``` r +library(lme4) +m_lmer <- lmer(Sepal.Length ~ Petal.Length + (1 | Species), data = iris) +report(m_lmer) +``` + +::: {.blackbox data-latex=""} +We fitted a linear mixed model (estimated using REML and nloptwrap +optimizer) to predict Sepal.Length with Petal.Length (formula: +Sepal.Length \~ Petal.Length). The model included Species as random +effect (formula: \~1 \| Species). The model's total explanatory power is +substantial (conditional R2 = 0.97) and the part related to the fixed +effects alone (marginal R2) is of 0.66. The model's intercept, +corresponding to Petal.Length = 0, is at 2.50 (95% CI \[1.19, 3.82\], +t(146) = 3.75, p \< .001). Within this model: + +- The effect of Petal Length is statistically significant and positive + (beta = 0.89, 95% CI \[0.76, 1.01\], t(146) = 13.93, p \< .001; Std. + beta = 1.89, 95% CI \[1.63, 2.16\]) + +Standardized parameters were obtained by fitting the model on a +standardized version of the dataset. 95% Confidence Intervals (CIs) and +p-values were computed using a Wald t-distribution approximation. +::: + +``` r +library(rstanarm) +m_rstan <- stan_glm(mpg ~ qsec + wt, data = mtcars, refresh = 0, iter = 1000) +report(m_rstan) +``` + +::: {.blackbox data-latex=""} +We fitted a Bayesian linear model (estimated using MCMC sampling with 4 +chains of 1000 iterations and a warmup of 500) to predict mpg with qsec +and wt (formula: mpg \~ qsec + wt). Priors over parameters were all set +as normal (mean = 0.00, SD = 8.43; mean = 0.00, SD = 15.40) +distributions. The model's explanatory power is substantial (R2 = 0.81, +95% CI \[0.69, 0.89\], adj. R2 = 0.79). The model's intercept, +corresponding to qsec = 0 and wt = 0, is at 19.59 (95% CI \[8.71, +30.63\]). Within this model: + +- The effect of qsec (Median = 0.93, 95% CI \[0.38, 1.50\]) has a + 99.85% probability of being positive (\> 0), 98.65% of being + significant (\> 0.30), and 0.10% of being large (\> 1.81). The + estimation successfully converged (Rhat = 1.001) and the indices are + reliable (ESS = 2048) +- The effect of wt (Median = -5.05, 95% CI \[-6.07, -4.05\]) has a + 100.00% probability of being negative (\< 0), 100.00% of being + significant (\< -0.30), and 100.00% of being large (\< -1.81). The + estimation successfully converged (Rhat = 0.999) and the indices are + reliable (ESS = 1744) + +Following the Sequential Effect eXistence and sIgnificance Testing +(SEXIT) framework, we report the median of the posterior distribution +and its 95% CI (Highest Density Interval), along the probability of +direction (pd), the probability of significance and the probability of +being large. The thresholds beyond which the effect is considered as +significant (i.e., non-negligible) and large are \|0.30\| and \|1.81\| +(corresponding respectively to 0.05 and 0.30 of the outcome's SD). +Convergence and stability of the Bayesian sampling has been assessed +using R-hat, which should be below 1.01 (Vehtari et al., 2019), and +Effective Sample Size (ESS), which should be greater than 1000 (Burkner, +2017). +::: + +## Tables + +If preferred, you can output the information as a table instead. + +``` r +library(insight) + +export_table(format_table(report_table(m_lm)), format = "markdown") +``` + + -------------------------------------------------------------------------------------------- + Parameter Coefficient 95% CI t(29) p Std. Coef. Std. Coef. 95% Fit + CI + ------------- ------------- ----------- -------- ------- ----------- -------------- -------- + (Intercept) 19.75 \[ 9.00, 3.76 \< .001 -1.36e-17 \[-0.16, + 30.49\] 0.16\] + + qsec 0.93 \[ 0.39, 3.51 0.001 0.28 \[ 0.11, + 1.47\] 0.44\] + + wt -5.05 \[-6.04, -10.43 \< .001 -0.82 \[-0.98, + -4.06\] -0.66\] + + + + AIC 156.72 + + AICc 158.20 + + BIC 162.58 + + R2 0.83 + + R2 (adj.) 0.81 + + Sigma 2.60 + -------------------------------------------------------------------------------------------- + +``` r + +export_table(format_table(report_table(m_lmer)), format = "markdown") +``` + + ------------------------------------------------------------------------------------------------------------- + Parameter Coefficient 95% CI t(146) p Effects Group Std. Coef. Std. Coef. Fit + 95% CI + --------------- ------------- --------- -------- ------ --------- ---------- ----------- ----------- -------- + (Intercept) 2.50 \[1.19, 3.75 \< fixed -4.86e-13 \[-1.49, + 3.82\] .001 1.49\] + + Petal Length 0.89 \[0.76, 13.93 \< fixed 1.89 \[ 1.63, + 1.01\] .001 2.16\] + + 1.08 random Species + + 0.34 random Residual + + + + AIC 127.79 + + AICc 128.07 + + BIC 139.84 + + R2 0.97 + (conditional) + + R2 (marginal) 0.66 + + Sigma 0.34 + ------------------------------------------------------------------------------------------------------------- + +``` r + +export_table(format_table(report_table(m_rstan)), format = "markdown") +``` + + ------------------------------------------------------------------------------------------------------------ + Parameter Median 95% CI pd Rhat ESS Prior Std. Std_Median Fit + Median 95% CI + ------------- -------- ---------- -------- ------- --------- -------------- ---------- ------------ -------- + (Intercept) 19.59 \[ 8.71, 100% 1.001 1907.00 Normal (20.09 1.52e-03 \[-0.16, + 30.63\] +- 15.07) 0.16\] + + qsec 0.93 \[ 0.38, 99.85% 1.001 2048.00 Normal (0.00 0.28 \[ 0.12, + 1.50\] +- 8.43) 0.44\] + + wt -5.05 \[-6.07, 100% 0.999 1744.00 Normal (0.00 -0.82 \[-0.98, + -4.05\] +- 15.40) -0.65\] + + + + ELPD -79.23 + + LOOIC 158.46 + + WAIC 158.15 + + R2 0.81 + + R2 (adj.) 0.79 + + Sigma 2.65 + ------------------------------------------------------------------------------------------------------------ + +## Grouped Data + +You can also seamlessly integrate `{report}` with *tidyverse* workflows: + +``` r +library(dplyr) + +iris %>% + select(-starts_with("Sepal")) %>% + group_by(Species) %>% + report() %>% + summary() +``` + +::: {.blackbox data-latex=""} +The data contains 150 observations, grouped by Species, of the following +3 variables: + +- setosa (n = 50): + - Petal.Length: Mean = 1.46, SD = 0.17, range: \[1, 1.90\] + - Petal.Width: Mean = 0.25, SD = 0.11, range: \[0.10, 0.60\] +- versicolor (n = 50): + - Petal.Length: Mean = 4.26, SD = 0.47, range: \[3, 5.10\] + - Petal.Width: Mean = 1.33, SD = 0.20, range: \[1, 1.80\] +- virginica (n = 50): + - Petal.Length: Mean = 5.55, SD = 0.55, range: \[4.50, 6.90\] + - Petal.Width: Mean = 2.03, SD = 0.27, range: \[1.40, 2.50\] +::: + +# Conclusion + +The `{report}` package is a valuable tool for researchers who use R to +analyze data and create reports for publication. It can help standardize +and improve results reporting while saving researchers time and +improving the quality of their work. + # Licensing and Availability -`{report}` is licensed under the GNU General Public License (v3.0), with all source code openly developed and stored on GitHub (), along with a corresponding issue tracker for bug reporting and feature enhancements. In the spirit of honest and open science, we encourage requests, tips for fixes, feature updates, as well as general questions and concerns via direct interaction with contributors and developers. +`{report}` is licensed under the GNU General Public License (v3.0), with +all source code openly developed and stored on GitHub +(), along with a corresponding +issue tracker for bug reporting and feature enhancements. In the spirit +of honest and open science, we encourage requests, tips for fixes, +feature updates, as well as general questions and concerns via direct +interaction with contributors and developers. # Acknowledgments -`{report}` is part of the collaborative [*easystats*](https://easystats.github.io/easystats/) ecosystem. Thus, we thank the [members of easystats](https://github.com/orgs/easystats/people) as well as the users. +`{report}` is part of the collaborative +[*easystats*](https://easystats.github.io/easystats/) ecosystem. Thus, +we thank the [members of +easystats](https://github.com/orgs/easystats/people) as well as the +users. + +# References {#references .unnumbered} -# References +[^1]: Brenton Wiernik is currently an independent researcher and + Research Scientist at Meta, Demography and Survey Science. The + current work was done in an independent capacity. diff --git a/paper/paper.pdf b/paper/paper.pdf deleted file mode 100644 index c811a7c5..00000000 Binary files a/paper/paper.pdf and /dev/null differ