├── .Rbuildignore
├── .dockerignore
├── .gitignore
├── .repro
├── Dockerfile_apt
├── Dockerfile_base
├── Dockerfile_manual
├── Dockerfile_packages
├── Makefile_Docker
└── Makefile_Rmds
├── CODE_OF_CONDUCT.md
├── Dockerfile
├── LICENSE.md
├── Makefile
├── R
├── bibliography.R
├── hash.R
├── link.R
├── simulation.R
└── simulation_funs.R
├── README.Rmd
├── README.md
├── abstract.Rmd
├── chicago2.bst
├── data
├── overview.csv
├── sd3.csv
└── simulation_results.csv
├── images
├── idea-change.png
├── modified.pdf
├── modified.png
├── nutshell.pdf
└── nutshell.svg
├── install.Rmd
├── install.md
├── journalnames.tex
├── logo-ccby.pdf
├── logo-mdpi.pdf
├── logo-orcid.pdf
├── logo-updates.pdf
├── manuscript.Rmd
├── manuscript.tex
├── mdpi.bst
├── mdpi.cls
├── packages.bib
├── preregistration.Rmd
├── preregistration.bib
├── references.bib
├── repro-tutorial.Rproj
└── repro_log.R
/.Rbuildignore:
--------------------------------------------------------------------------------
1 | ^LICENSE\.md$
2 |
--------------------------------------------------------------------------------
/.dockerignore:
--------------------------------------------------------------------------------
1 | *.tar.gz
2 | *.sif
3 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .Rproj.user
2 | .Rhistory
3 | .RData
4 | .Ruserdata
5 | .Rdata
6 | .httr-oauth
7 | .DS_Store
8 | *.html
9 | *.pdf
10 | apa7.csl
11 | .ssh/
12 | .local/
13 | .pki/
14 | .cache/
15 | *.svg
16 | *.png
17 | *.sif
18 | *.rds
19 | *.tex
20 | *.tar.gz
21 | temp.bib
22 | *.log
23 | *.zip
24 | data/data.csv
25 | *.aux
26 | *.out
27 | .bash_history
28 | .wget-hsts
29 |
--------------------------------------------------------------------------------
/.repro/Dockerfile_apt:
--------------------------------------------------------------------------------
1 | RUN apt-get update -y && apt-get install -y inkscape
2 |
--------------------------------------------------------------------------------
/.repro/Dockerfile_base:
--------------------------------------------------------------------------------
1 | FROM rocker/verse:4.0.4
2 | ARG BUILD_DATE=2021-05-06
3 | WORKDIR /home/rstudio
4 | RUN MRAN=https://mran.microsoft.com/snapshot/${BUILD_DATE} \
5 | && echo MRAN=$MRAN >> /etc/environment \
6 | && export MRAN=$MRAN \
7 | && echo "options(repos = c(CRAN='$MRAN'), download.file.method = 'libcurl')" >> /usr/local/lib/R/etc/Rprofile.site
8 |
--------------------------------------------------------------------------------
/.repro/Dockerfile_manual:
--------------------------------------------------------------------------------
1 | RUN Rscript -e 'tinytex::tlmgr_install(c("epstopdf-pkg", "mdwtools", "booktabs", "framed", "fancyvrb", "geometry", "infwarerr", "pdftexcmds", "xcolor", "etoolbox", "kvsetkeys", "ltxcmds", "kvoptions", "iftex", "amsmath", "auxhook", "auxhook", "bigintcalc", "bitset", "etexcmds", "gettitlestring", "hycolor", "hyperref", "intcalc", "kvdefinekeys", "letltxmacro", "pdfescape", "refcount", "rerunfilecheck", "stringenc", "uniquecounter", "zapfding", "colortbl", "soul", "multirow", "microtype", "totcount", "amscls", "hyphenat", "natbib", "footmisc", "newfloat", "caption", "texlive-scripts", "fancyhdr", "grfext", "lastpage", "palatino", "ec", "lineno", "float", "setspace", "enumitem", "psnfss", "symbol", "titlesec", "tabto-ltx", "fp", "ms", "pgf", "fpl", "mathpazo", "dvips", "upquote", "draftwatermark", "changepage", "frankenstein", "was", "pbox", "paracol", "ragged2e", "tocloft", "enotez", "koma-script", "everysel", "translations", "seqsplit"))'
2 |
--------------------------------------------------------------------------------
/.repro/Dockerfile_packages:
--------------------------------------------------------------------------------
1 | RUN install2.r --error --skipinstalled \
2 | furrr \
3 | future.batchtools \
4 | gert \
5 | here \
6 | knitr \
7 | lavaan \
8 | moments \
9 | pander \
10 | patchwork \
11 | renv \
12 | report \
13 | rticles \
14 | slider \
15 | targets \
16 | tidyverse \
17 | usethis
18 | RUN installGithub.r \
19 | aaronpeikert/repro@15a069 \
20 | rstudio/webshot2@f62e743
21 |
--------------------------------------------------------------------------------
/.repro/Makefile_Docker:
--------------------------------------------------------------------------------
1 | ### Docker Options ###
2 | # --user indicates which user to emulate
3 | # -v which directory on the host should be accessable in the container
4 | # the last argument is the name of the container which is the project name
5 | DFLAGS = --rm $(DUSER) -v "$(DDIR)":"$(DHOME)" $(PROJECT)
6 | DCMD = run
7 | DHOME = /home/rstudio/
8 |
9 | # docker for windows needs a pretty unusual path specification
10 | # which needs to be specified *manually*
11 | ifeq ($(WINDOWS),TRUE)
12 | ifndef WINDIR
13 | $(error WINDIR is not set)
14 | endif
15 | DDIR := $(WINDIR)
16 | # is meant to be empty
17 | UID :=
18 | DUSER :=
19 | else
20 | DDIR := $(CURDIR)
21 | UID = $(shell id -u)
22 | DUSER = --user $(UID)
23 | endif
24 |
25 | ### Docker Command ###
26 |
27 | ifeq ($(DOCKER),TRUE)
28 | DRUN := docker $(DCMD) $(DFLAGS)
29 | WORKDIR := $(DHOME)
30 | endif
31 |
32 | ### Docker Image ###
33 |
34 | docker: build
35 | build: Dockerfile
36 | docker build -t $(PROJECT) .
37 | rebuild:
38 | docker build --no-cache --pull -t $(PROJECT) .
39 | save-docker: $(PROJECT).tar.gz
40 | $(PROJECT).tar.gz:
41 | docker save $(PROJECT):latest | gzip > $@
42 |
43 | singularity: $(PROJECT).sif
44 |
45 | $(PROJECT).sif: docker
46 | singularity build $@ docker-daemon://$(PROJECT):latest
47 |
--------------------------------------------------------------------------------
/.repro/Makefile_Rmds:
--------------------------------------------------------------------------------
1 | install.md: install.Rmd R/link.R
2 | $(RUN1) Rscript -e 'rmarkdown::render("$(WORKDIR)/$<", "all")' $(RUN2)
3 |
4 | manuscript.pdf: manuscript.Rmd data/simulation_results.csv R/simulation.R R/simulation_funs.R R/link.R temp.bib images/nutshell.pdf references.bib
5 | $(RUN1) Rscript -e 'rmarkdown::render("$(WORKDIR)/$<", "all")' $(RUN2)
6 |
7 | preregistration.pdf: preregistration.Rmd preregistration.bib
8 | $(RUN1) Rscript -e 'rmarkdown::render("$(WORKDIR)/$<", "all")' $(RUN2)
9 |
10 | README.md: README.Rmd images/nutshell.svg
11 | $(RUN1) Rscript -e 'rmarkdown::render("$(WORKDIR)/$<", "all")' $(RUN2)
12 |
13 |
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | # Contributor Covenant Code of Conduct
2 |
3 | ## Our Pledge
4 |
5 | We as members, contributors, and leaders pledge to make participation in our
6 | community a harassment-free experience for everyone, regardless of age, body
7 | size, visible or invisible disability, ethnicity, sex characteristics, gender
8 | identity and expression, level of experience, education, socio-economic status,
9 | nationality, personal appearance, race, religion, or sexual identity and
10 | orientation.
11 |
12 | We pledge to act and interact in ways that contribute to an open, welcoming,
13 | diverse, inclusive, and healthy community.
14 |
15 | ## Our Standards
16 |
17 | Examples of behavior that contributes to a positive environment for our
18 | community include:
19 |
20 | * Demonstrating empathy and kindness toward other people
21 | * Being respectful of differing opinions, viewpoints, and experiences
22 | * Giving and gracefully accepting constructive feedback
23 | * Accepting responsibility and apologizing to those affected by our mistakes,
24 | and learning from the experience
25 | * Focusing on what is best not just for us as individuals, but for the overall
26 | community
27 |
28 | Examples of unacceptable behavior include:
29 |
30 | * The use of sexualized language or imagery, and sexual attention or
31 | advances of any kind
32 | * Trolling, insulting or derogatory comments, and personal or political attacks
33 | * Public or private harassment
34 | * Publishing others' private information, such as a physical or email
35 | address, without their explicit permission
36 | * Other conduct which could reasonably be considered inappropriate in a
37 | professional setting
38 |
39 | ## Enforcement Responsibilities
40 |
41 | Community leaders are responsible for clarifying and enforcing our standards
42 | of acceptable behavior and will take appropriate and fair corrective action in
43 | response to any behavior that they deem inappropriate, threatening, offensive,
44 | or harmful.
45 |
46 | Community leaders have the right and responsibility to remove, edit, or reject
47 | comments, commits, code, wiki edits, issues, and other contributions that are
48 | not aligned to this Code of Conduct, and will communicate reasons for moderation
49 | decisions when appropriate.
50 |
51 | ## Scope
52 |
53 | This Code of Conduct applies within all community spaces, and also applies
54 | when an individual is officially representing the community in public spaces.
55 | Examples of representing our community include using an official e-mail
56 | address, posting via an official social media account, or acting as an appointed
57 | representative at an online or offline event.
58 |
59 | ## Enforcement
60 |
61 | Instances of abusive, harassing, or otherwise unacceptable behavior may be
62 | reported to the community leaders responsible for enforcement at [INSERT CONTACT
63 | METHOD]. All complaints will be reviewed and investigated promptly and fairly.
64 |
65 | All community leaders are obligated to respect the privacy and security of the
66 | reporter of any incident.
67 |
68 | ## Enforcement Guidelines
69 |
70 | Community leaders will follow these Community Impact Guidelines in determining
71 | the consequences for any action they deem in violation of this Code of Conduct:
72 |
73 | ### 1. Correction
74 |
75 | **Community Impact**: Use of inappropriate language or other behavior deemed
76 | unprofessional or unwelcome in the community.
77 |
78 | **Consequence**: A private, written warning from community leaders, providing
79 | clarity around the nature of the violation and an explanation of why the
80 | behavior was inappropriate. A public apology may be requested.
81 |
82 | ### 2. Warning
83 |
84 | **Community Impact**: A violation through a single incident or series of
85 | actions.
86 |
87 | **Consequence**: A warning with consequences for continued behavior. No
88 | interaction with the people involved, including unsolicited interaction with
89 | those enforcing the Code of Conduct, for a specified period of time. This
90 | includes avoiding interactions in community spaces as well as external channels
91 | like social media. Violating these terms may lead to a temporary or permanent
92 | ban.
93 |
94 | ### 3. Temporary Ban
95 |
96 | **Community Impact**: A serious violation of community standards, including
97 | sustained inappropriate behavior.
98 |
99 | **Consequence**: A temporary ban from any sort of interaction or public
100 | communication with the community for a specified period of time. No public or
101 | private interaction with the people involved, including unsolicited interaction
102 | with those enforcing the Code of Conduct, is allowed during this period.
103 | Violating these terms may lead to a permanent ban.
104 |
105 | ### 4. Permanent Ban
106 |
107 | **Community Impact**: Demonstrating a pattern of violation of community
108 | standards, including sustained inappropriate behavior, harassment of an
109 | individual, or aggression toward or disparagement of classes of individuals.
110 |
111 | **Consequence**: A permanent ban from any sort of public interaction within the
112 | community.
113 |
114 | ## Attribution
115 |
116 | This Code of Conduct is adapted from the [Contributor Covenant][homepage],
117 | version 2.0,
118 | available at https://www.contributor-covenant.org/version/2/0/
119 | code_of_conduct.html.
120 |
121 | Community Impact Guidelines were inspired by [Mozilla's code of conduct
122 | enforcement ladder](https://github.com/mozilla/diversity).
123 |
124 | [homepage]: https://www.contributor-covenant.org
125 |
126 | For answers to common questions about this code of conduct, see the FAQ at
127 | https://www.contributor-covenant.org/faq. Translations are available at https://
128 | www.contributor-covenant.org/translations.
129 |
--------------------------------------------------------------------------------
/Dockerfile:
--------------------------------------------------------------------------------
1 | # Generated by repro: do not edit by hand
2 | # Please edit Dockerfiles in .repro/
3 | FROM rocker/verse:4.0.4
4 | ARG BUILD_DATE=2021-05-06
5 | WORKDIR /home/rstudio
6 | RUN MRAN=https://mran.microsoft.com/snapshot/${BUILD_DATE} \
7 | && echo MRAN=$MRAN >> /etc/environment \
8 | && export MRAN=$MRAN \
9 | && echo "options(repos = c(CRAN='$MRAN'), download.file.method = 'libcurl')" >> /usr/local/lib/R/etc/Rprofile.site
10 | RUN Rscript -e 'tinytex::tlmgr_install(c("epstopdf-pkg", "mdwtools", "booktabs", "framed", "fancyvrb", "geometry", "infwarerr", "pdftexcmds", "xcolor", "etoolbox", "kvsetkeys", "ltxcmds", "kvoptions", "iftex", "amsmath", "auxhook", "auxhook", "bigintcalc", "bitset", "etexcmds", "gettitlestring", "hycolor", "hyperref", "intcalc", "kvdefinekeys", "letltxmacro", "pdfescape", "refcount", "rerunfilecheck", "stringenc", "uniquecounter", "zapfding", "colortbl", "soul", "multirow", "microtype", "totcount", "amscls", "hyphenat", "natbib", "footmisc", "newfloat", "caption", "texlive-scripts", "fancyhdr", "grfext", "lastpage", "palatino", "ec", "lineno", "float", "setspace", "enumitem", "psnfss", "symbol", "titlesec", "tabto-ltx", "fp", "ms", "pgf", "fpl", "mathpazo", "dvips", "upquote", "draftwatermark"))'
11 | RUN apt-get update -y && apt-get install -y inkscape
12 | RUN install2.r --error --skipinstalled \
13 | furrr \
14 | future.batchtools \
15 | gert \
16 | here \
17 | knitr \
18 | lavaan \
19 | moments \
20 | pander \
21 | patchwork \
22 | renv \
23 | report \
24 | rticles \
25 | slider \
26 | targets \
27 | tidyverse \
28 | usethis
29 | RUN installGithub.r \
30 | aaronpeikert/repro@15a069 \
31 | rstudio/webshot2@f62e743
32 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | Attribution 4.0 International
2 |
3 | =======================================================================
4 |
5 | Creative Commons Corporation ("Creative Commons") is not a law firm and
6 | does not provide legal services or legal advice. Distribution of
7 | Creative Commons public licenses does not create a lawyer-client or
8 | other relationship. Creative Commons makes its licenses and related
9 | information available on an "as-is" basis. Creative Commons gives no
10 | warranties regarding its licenses, any material licensed under their
11 | terms and conditions, or any related information. Creative Commons
12 | disclaims all liability for damages resulting from their use to the
13 | fullest extent possible.
14 |
15 | Using Creative Commons Public Licenses
16 |
17 | Creative Commons public licenses provide a standard set of terms and
18 | conditions that creators and other rights holders may use to share
19 | original works of authorship and other material subject to copyright
20 | and certain other rights specified in the public license below. The
21 | following considerations are for informational purposes only, are not
22 | exhaustive, and do not form part of our licenses.
23 |
24 | Considerations for licensors: Our public licenses are
25 | intended for use by those authorized to give the public
26 | permission to use material in ways otherwise restricted by
27 | copyright and certain other rights. Our licenses are
28 | irrevocable. Licensors should read and understand the terms
29 | and conditions of the license they choose before applying it.
30 | Licensors should also secure all rights necessary before
31 | applying our licenses so that the public can reuse the
32 | material as expected. Licensors should clearly mark any
33 | material not subject to the license. This includes other CC-
34 | licensed material, or material used under an exception or
35 | limitation to copyright. More considerations for licensors:
36 | wiki.creativecommons.org/Considerations_for_licensors
37 |
38 | Considerations for the public: By using one of our public
39 | licenses, a licensor grants the public permission to use the
40 | licensed material under specified terms and conditions. If
41 | the licensor's permission is not necessary for any reason--for
42 | example, because of any applicable exception or limitation to
43 | copyright--then that use is not regulated by the license. Our
44 | licenses grant only permissions under copyright and certain
45 | other rights that a licensor has authority to grant. Use of
46 | the licensed material may still be restricted for other
47 | reasons, including because others have copyright or other
48 | rights in the material. A licensor may make special requests,
49 | such as asking that all changes be marked or described.
50 | Although not required by our licenses, you are encouraged to
51 | respect those requests where reasonable. More considerations
52 | for the public:
53 | wiki.creativecommons.org/Considerations_for_licensees
54 |
55 | =======================================================================
56 |
57 | Creative Commons Attribution 4.0 International Public License
58 |
59 | By exercising the Licensed Rights (defined below), You accept and agree
60 | to be bound by the terms and conditions of this Creative Commons
61 | Attribution 4.0 International Public License ("Public License"). To the
62 | extent this Public License may be interpreted as a contract, You are
63 | granted the Licensed Rights in consideration of Your acceptance of
64 | these terms and conditions, and the Licensor grants You such rights in
65 | consideration of benefits the Licensor receives from making the
66 | Licensed Material available under these terms and conditions.
67 |
68 |
69 | Section 1 -- Definitions.
70 |
71 | a. Adapted Material means material subject to Copyright and Similar
72 | Rights that is derived from or based upon the Licensed Material
73 | and in which the Licensed Material is translated, altered,
74 | arranged, transformed, or otherwise modified in a manner requiring
75 | permission under the Copyright and Similar Rights held by the
76 | Licensor. For purposes of this Public License, where the Licensed
77 | Material is a musical work, performance, or sound recording,
78 | Adapted Material is always produced where the Licensed Material is
79 | synched in timed relation with a moving image.
80 |
81 | b. Adapter's License means the license You apply to Your Copyright
82 | and Similar Rights in Your contributions to Adapted Material in
83 | accordance with the terms and conditions of this Public License.
84 |
85 | c. Copyright and Similar Rights means copyright and/or similar rights
86 | closely related to copyright including, without limitation,
87 | performance, broadcast, sound recording, and Sui Generis Database
88 | Rights, without regard to how the rights are labeled or
89 | categorized. For purposes of this Public License, the rights
90 | specified in Section 2(b)(1)-(2) are not Copyright and Similar
91 | Rights.
92 |
93 | d. Effective Technological Measures means those measures that, in the
94 | absence of proper authority, may not be circumvented under laws
95 | fulfilling obligations under Article 11 of the WIPO Copyright
96 | Treaty adopted on December 20, 1996, and/or similar international
97 | agreements.
98 |
99 | e. Exceptions and Limitations means fair use, fair dealing, and/or
100 | any other exception or limitation to Copyright and Similar Rights
101 | that applies to Your use of the Licensed Material.
102 |
103 | f. Licensed Material means the artistic or literary work, database,
104 | or other material to which the Licensor applied this Public
105 | License.
106 |
107 | g. Licensed Rights means the rights granted to You subject to the
108 | terms and conditions of this Public License, which are limited to
109 | all Copyright and Similar Rights that apply to Your use of the
110 | Licensed Material and that the Licensor has authority to license.
111 |
112 | h. Licensor means the individual(s) or entity(ies) granting rights
113 | under this Public License.
114 |
115 | i. Share means to provide material to the public by any means or
116 | process that requires permission under the Licensed Rights, such
117 | as reproduction, public display, public performance, distribution,
118 | dissemination, communication, or importation, and to make material
119 | available to the public including in ways that members of the
120 | public may access the material from a place and at a time
121 | individually chosen by them.
122 |
123 | j. Sui Generis Database Rights means rights other than copyright
124 | resulting from Directive 96/9/EC of the European Parliament and of
125 | the Council of 11 March 1996 on the legal protection of databases,
126 | as amended and/or succeeded, as well as other essentially
127 | equivalent rights anywhere in the world.
128 |
129 | k. You means the individual or entity exercising the Licensed Rights
130 | under this Public License. Your has a corresponding meaning.
131 |
132 |
133 | Section 2 -- Scope.
134 |
135 | a. License grant.
136 |
137 | 1. Subject to the terms and conditions of this Public License,
138 | the Licensor hereby grants You a worldwide, royalty-free,
139 | non-sublicensable, non-exclusive, irrevocable license to
140 | exercise the Licensed Rights in the Licensed Material to:
141 |
142 | a. reproduce and Share the Licensed Material, in whole or
143 | in part; and
144 |
145 | b. produce, reproduce, and Share Adapted Material.
146 |
147 | 2. Exceptions and Limitations. For the avoidance of doubt, where
148 | Exceptions and Limitations apply to Your use, this Public
149 | License does not apply, and You do not need to comply with
150 | its terms and conditions.
151 |
152 | 3. Term. The term of this Public License is specified in Section
153 | 6(a).
154 |
155 | 4. Media and formats; technical modifications allowed. The
156 | Licensor authorizes You to exercise the Licensed Rights in
157 | all media and formats whether now known or hereafter created,
158 | and to make technical modifications necessary to do so. The
159 | Licensor waives and/or agrees not to assert any right or
160 | authority to forbid You from making technical modifications
161 | necessary to exercise the Licensed Rights, including
162 | technical modifications necessary to circumvent Effective
163 | Technological Measures. For purposes of this Public License,
164 | simply making modifications authorized by this Section 2(a)
165 | (4) never produces Adapted Material.
166 |
167 | 5. Downstream recipients.
168 |
169 | a. Offer from the Licensor -- Licensed Material. Every
170 | recipient of the Licensed Material automatically
171 | receives an offer from the Licensor to exercise the
172 | Licensed Rights under the terms and conditions of this
173 | Public License.
174 |
175 | b. No downstream restrictions. You may not offer or impose
176 | any additional or different terms or conditions on, or
177 | apply any Effective Technological Measures to, the
178 | Licensed Material if doing so restricts exercise of the
179 | Licensed Rights by any recipient of the Licensed
180 | Material.
181 |
182 | 6. No endorsement. Nothing in this Public License constitutes or
183 | may be construed as permission to assert or imply that You
184 | are, or that Your use of the Licensed Material is, connected
185 | with, or sponsored, endorsed, or granted official status by,
186 | the Licensor or others designated to receive attribution as
187 | provided in Section 3(a)(1)(A)(i).
188 |
189 | b. Other rights.
190 |
191 | 1. Moral rights, such as the right of integrity, are not
192 | licensed under this Public License, nor are publicity,
193 | privacy, and/or other similar personality rights; however, to
194 | the extent possible, the Licensor waives and/or agrees not to
195 | assert any such rights held by the Licensor to the limited
196 | extent necessary to allow You to exercise the Licensed
197 | Rights, but not otherwise.
198 |
199 | 2. Patent and trademark rights are not licensed under this
200 | Public License.
201 |
202 | 3. To the extent possible, the Licensor waives any right to
203 | collect royalties from You for the exercise of the Licensed
204 | Rights, whether directly or through a collecting society
205 | under any voluntary or waivable statutory or compulsory
206 | licensing scheme. In all other cases the Licensor expressly
207 | reserves any right to collect such royalties.
208 |
209 |
210 | Section 3 -- License Conditions.
211 |
212 | Your exercise of the Licensed Rights is expressly made subject to the
213 | following conditions.
214 |
215 | a. Attribution.
216 |
217 | 1. If You Share the Licensed Material (including in modified
218 | form), You must:
219 |
220 | a. retain the following if it is supplied by the Licensor
221 | with the Licensed Material:
222 |
223 | i. identification of the creator(s) of the Licensed
224 | Material and any others designated to receive
225 | attribution, in any reasonable manner requested by
226 | the Licensor (including by pseudonym if
227 | designated);
228 |
229 | ii. a copyright notice;
230 |
231 | iii. a notice that refers to this Public License;
232 |
233 | iv. a notice that refers to the disclaimer of
234 | warranties;
235 |
236 | v. a URI or hyperlink to the Licensed Material to the
237 | extent reasonably practicable;
238 |
239 | b. indicate if You modified the Licensed Material and
240 | retain an indication of any previous modifications; and
241 |
242 | c. indicate the Licensed Material is licensed under this
243 | Public License, and include the text of, or the URI or
244 | hyperlink to, this Public License.
245 |
246 | 2. You may satisfy the conditions in Section 3(a)(1) in any
247 | reasonable manner based on the medium, means, and context in
248 | which You Share the Licensed Material. For example, it may be
249 | reasonable to satisfy the conditions by providing a URI or
250 | hyperlink to a resource that includes the required
251 | information.
252 |
253 | 3. If requested by the Licensor, You must remove any of the
254 | information required by Section 3(a)(1)(A) to the extent
255 | reasonably practicable.
256 |
257 | 4. If You Share Adapted Material You produce, the Adapter's
258 | License You apply must not prevent recipients of the Adapted
259 | Material from complying with this Public License.
260 |
261 |
262 | Section 4 -- Sui Generis Database Rights.
263 |
264 | Where the Licensed Rights include Sui Generis Database Rights that
265 | apply to Your use of the Licensed Material:
266 |
267 | a. for the avoidance of doubt, Section 2(a)(1) grants You the right
268 | to extract, reuse, reproduce, and Share all or a substantial
269 | portion of the contents of the database;
270 |
271 | b. if You include all or a substantial portion of the database
272 | contents in a database in which You have Sui Generis Database
273 | Rights, then the database in which You have Sui Generis Database
274 | Rights (but not its individual contents) is Adapted Material; and
275 |
276 | c. You must comply with the conditions in Section 3(a) if You Share
277 | all or a substantial portion of the contents of the database.
278 |
279 | For the avoidance of doubt, this Section 4 supplements and does not
280 | replace Your obligations under this Public License where the Licensed
281 | Rights include other Copyright and Similar Rights.
282 |
283 |
284 | Section 5 -- Disclaimer of Warranties and Limitation of Liability.
285 |
286 | a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
287 | EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
288 | AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
289 | ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
290 | IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
291 | WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
292 | PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
293 | ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
294 | KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
295 | ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
296 |
297 | b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
298 | TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
299 | NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
300 | INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
301 | COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
302 | USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
303 | ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
304 | DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
305 | IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
306 |
307 | c. The disclaimer of warranties and limitation of liability provided
308 | above shall be interpreted in a manner that, to the extent
309 | possible, most closely approximates an absolute disclaimer and
310 | waiver of all liability.
311 |
312 |
313 | Section 6 -- Term and Termination.
314 |
315 | a. This Public License applies for the term of the Copyright and
316 | Similar Rights licensed here. However, if You fail to comply with
317 | this Public License, then Your rights under this Public License
318 | terminate automatically.
319 |
320 | b. Where Your right to use the Licensed Material has terminated under
321 | Section 6(a), it reinstates:
322 |
323 | 1. automatically as of the date the violation is cured, provided
324 | it is cured within 30 days of Your discovery of the
325 | violation; or
326 |
327 | 2. upon express reinstatement by the Licensor.
328 |
329 | For the avoidance of doubt, this Section 6(b) does not affect any
330 | right the Licensor may have to seek remedies for Your violations
331 | of this Public License.
332 |
333 | c. For the avoidance of doubt, the Licensor may also offer the
334 | Licensed Material under separate terms or conditions or stop
335 | distributing the Licensed Material at any time; however, doing so
336 | will not terminate this Public License.
337 |
338 | d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
339 | License.
340 |
341 |
342 | Section 7 -- Other Terms and Conditions.
343 |
344 | a. The Licensor shall not be bound by any additional or different
345 | terms or conditions communicated by You unless expressly agreed.
346 |
347 | b. Any arrangements, understandings, or agreements regarding the
348 | Licensed Material not stated herein are separate from and
349 | independent of the terms and conditions of this Public License.
350 |
351 |
352 | Section 8 -- Interpretation.
353 |
354 | a. For the avoidance of doubt, this Public License does not, and
355 | shall not be interpreted to, reduce, limit, restrict, or impose
356 | conditions on any use of the Licensed Material that could lawfully
357 | be made without permission under this Public License.
358 |
359 | b. To the extent possible, if any provision of this Public License is
360 | deemed unenforceable, it shall be automatically reformed to the
361 | minimum extent necessary to make it enforceable. If the provision
362 | cannot be reformed, it shall be severed from this Public License
363 | without affecting the enforceability of the remaining terms and
364 | conditions.
365 |
366 | c. No term or condition of this Public License will be waived and no
367 | failure to comply consented to unless expressly agreed to by the
368 | Licensor.
369 |
370 | d. Nothing in this Public License constitutes or may be interpreted
371 | as a limitation upon, or waiver of, any privileges and immunities
372 | that apply to the Licensor or You, including from the legal
373 | processes of any jurisdiction or authority.
374 |
375 |
376 | =======================================================================
377 |
378 | Creative Commons is not a party to its public
379 | licenses. Notwithstanding, Creative Commons may elect to apply one of
380 | its public licenses to material it publishes and in those instances
381 | will be considered the “Licensor.” The text of the Creative Commons
382 | public licenses is dedicated to the public domain under the CC0 Public
383 | Domain Dedication. Except for the limited purpose of indicating that
384 | material is shared under a Creative Commons public license or as
385 | otherwise permitted by the Creative Commons policies published at
386 | creativecommons.org/policies, Creative Commons does not authorize the
387 | use of the trademark "Creative Commons" or any other trademark or logo
388 | of Creative Commons without its prior written consent including,
389 | without limitation, in connection with any unauthorized modifications
390 | to any of its public licenses or any other arrangements,
391 | understandings, or agreements concerning use of licensed material. For
392 | the avoidance of doubt, this paragraph does not form part of the
393 | public licenses.
394 |
395 | Creative Commons may be contacted at creativecommons.org.
396 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | PROJECT := reprotutorial
2 | WORKDIR := $(CURDIR)
3 |
4 | # list below your targets and their recipies
5 | all: install.md README.md manuscript.pdf preregistration.pdf
6 |
7 | manuscript.tex: manuscript.pdf
8 |
9 | submission.zip: manuscript.pdf manuscript.tex manuscript.Rmd journalnames.tex mdpi.bst mdpi.cls logo-updates.pdf journalnames.tex chicago2.bst manuscript_files/ *.bib
10 | $(RUN1) zip -r $@ $^ $(RUN2)
11 |
12 | figures.zip: images/ manuscript_files/
13 | $(RUN1) zip -r $@ $^ $(RUN2)
14 |
15 | data/MACH_data.zip:
16 | $(RUN1) curl https://openpsychometrics.org/_rawdata/MACH_data.zip -o $@ $(RUN2)
17 |
18 | data/data.csv: data/MACH_data.zip
19 | $(RUN1) unzip -p $< MACH_data/data.csv > $@ $(RUN2)
20 |
21 | data/simulation_results.csv: R/simulation.R R/simulation_funs.R
22 | $(RUN1) Rscript -e 'source("$<")' $(RUN2)
23 |
24 | simulated_data.csv: R/simulation.R
25 | $(RUN1) Rscript -e 'source("R/simulate.R")' $(RUN2)
26 |
27 | data/sd3.csv: R/simulation_funs.R
28 | $(RUN1) Rscript -e 'source("$<"); set.seed(1235); readr::write_csv(generate_data(500), "data/sd3.csv")' $(RUN2)
29 |
30 | images/nutshell.pdf: images/nutshell.svg
31 | inkscape --export-area-page --export-filename=$@ $<
32 |
33 | apa7.csl:
34 | $(RUN1) wget -O $@ https://raw.githubusercontent.com/citation-style-language/styles/master/apa.csl $(RUN2)
35 |
36 | temp.bib: R/bibliography.R references.bib
37 | $(RUN1) Rscript -e 'source("$<")' $(RUN2)
38 |
39 | ### Wrap Commands ###
40 | # if a command is to be send to another process e.g. a container/scheduler use:
41 | # $(RUN1) mycommand --myflag $(RUN2)
42 | RUN1 = $(QRUN1) $(SRUN) $(DRUN)
43 | RUN2 = $(QRUN2)
44 |
45 | ### Rmd's ###
46 | include .repro/Makefile_Rmds
47 |
48 | ### Docker ###
49 | # this is a workaround for windows users
50 | # please set WINDOWS=TRUE and adapt WINPATH if you are a windows user
51 | # note the unusual way to specify the path
52 | WINPATH = //c/Users/someuser/Documents/myproject/
53 | include .repro/Makefile_Docker
54 |
55 |
--------------------------------------------------------------------------------
/R/bibliography.R:
--------------------------------------------------------------------------------
1 | knitr::write_bib(
2 | c(
3 | .packages(),
4 | "repro",
5 | "here",
6 | "rticles",
7 | "gert",
8 | "bookdown",
9 | "lavaan",
10 | "knitr",
11 | "targets",
12 | "renv",
13 | "tidyverse"
14 | ),
15 | here::here("packages.bib")
16 | )
17 | cat(c(readLines(here::here("packages.bib")), "\n", readLines(here::here("references.bib"))),
18 | sep = "\n",
19 | file = here::here("temp.bib"))
20 |
--------------------------------------------------------------------------------
/R/hash.R:
--------------------------------------------------------------------------------
1 | #----hash----
2 | # compute hash using md5
3 | hash <- digest::digest(res, "md5")
4 | if(hash != "e9e0dfe4b4753c1e00bb02e4205d8772"){
5 | warning("Mismatch between original and current simulations!\nHash now is:\n '", hash, "'")
6 | }
7 |
--------------------------------------------------------------------------------
/R/link.R:
--------------------------------------------------------------------------------
1 | link <- function(link, linktext = link, footnote = link != linktext, file = here::here("links.txt")){
2 | markdown <- paste0("[", linktext, "](", link, ")")
3 | if(footnote){
4 | ref <- gsub("[^a-zA-Z]*", "", linktext)
5 | markdown <- paste0(markdown, "[^", ref, "]", collapse = "")
6 | cat(paste0("[^", ref, "]: ", link, "\n"), file = file, append = TRUE)
7 | }
8 | return(markdown)
9 | }
10 |
11 | link_index <- function(file = here::here("links.txt")){
12 | if(file.exists("links.txt")){
13 | links <- readLines(file)
14 | cat(links, sep = "\n")
15 | file.remove(file)
16 | invisible()
17 | } else return(invisible())
18 | }
19 |
--------------------------------------------------------------------------------
/R/simulation.R:
--------------------------------------------------------------------------------
1 | library(furrr)
2 | library(tidyverse)
3 | source(here::here("R", "simulation_funs.R"))
4 | # if you have access to a hpc envir specify this in R/hpc.R
5 | # see https://github.com/aaronpeikert/repro-tutorial/blob/hpc/R/hpc.R
6 | # or `git checkout hpc R/hpc.R`
7 | # if no hpc is availible we use local multicore with all available cores
8 | # to speed up consider reduce nsim; increase nstep ↓↓↓
9 |
10 | hpc_config <- here::here("R", "hpc.R")
11 | if(fs::file_exists(hpc_config)){
12 | source(hpc_config)
13 | } else {
14 | plan(list(transparent,
15 | tweak(multisession)))
16 | }
17 |
18 | setup <- tidyr::expand_grid(
19 | n = c(10, seq(100, 1000, 100)),
20 | df = 8, # skew = sqrt(8/df)
21 | d = seq(0, .5, 0.05),
22 | i = 10)
23 | res_raw %<-% simulation_study(setup, 10000, 1235)
24 |
25 | res <- res_raw %>%
26 | group_by(across(-results)) %>%
27 | unnest_wider(results) %>%
28 | summarise(power = mean(p_value < 0.025),
29 | cohend_mean = mean(cohend),
30 | cohend_sd = sd(cohend),
31 | .groups = "drop")
32 | fs::dir_create(here::here("data"))
33 | write_csv(res, here::here("data", "simulation_results.csv"))
34 |
35 | res %>%
36 | ggplot(aes(n, power, color = d, group = d)) +
37 | geom_line() +
38 | theme_minimal() +
39 | NULL
40 |
--------------------------------------------------------------------------------
/R/simulation_funs.R:
--------------------------------------------------------------------------------
1 | #----simulate_data----
2 | simulate_data <- function(n, df, d, i){
3 | # groups have same size
4 | stopifnot(n %% 2L == 0L)
5 | gender <- rep(c(0L, 1L), each = n/2)
6 | # use Chi^2 distributed random data for some skew
7 | rand <- matrix(rchisq(n * i, df/i), ncol = i) # sum of n chisq has df of n*df
8 | d_scaled <- d * sqrt(2*df)/i # scale d to express sd units (var(chisq) = 2df)
9 | # add difference only to group coded with `1`
10 | effect <- rand + d_scaled * gender
11 | # name items
12 | colnames(effect) <- paste0("mach", seq_len(i))
13 | effect <- as.data.frame(effect)
14 | # recode gender from numeric to factor
15 | effect$gender <- factor(gender, levels = c(1L, 0L), labels = c("male", "female"))
16 | return(effect)
17 | }
18 |
19 | #----planned_analysis----
20 | planned_analysis <- function(data, use_rank = "skew", skew_cutoff = 1){
21 | # average over all variable supplied, except gender
22 | machiavellianism <- rowMeans(data["gender" != names(data)], na.rm = TRUE)
23 | # discard rows that only contain NAs
24 | data <- data[!is.na(machiavellianism),]
25 | machiavellianism <- machiavellianism[!is.na(machiavellianism)]
26 | # assure gender is factor
27 | gender <- as.factor(data$gender)
28 | # note skewness and decide t.test vs wilcox based on it
29 | skew <- moments::skewness(machiavellianism)
30 | # skewness cutoff
31 | if(use_rank == "skew")use_rank <- abs(skew) > skew_cutoff
32 | if(use_rank){
33 | # t.test + rank = wilcox test
34 | machiavellianism <- rank(machiavellianism)
35 | }
36 | test <- t.test(machiavellianism ~ gender)
37 | # return a bunch of information
38 | list(test = test, skew = skew, use_rank = use_rank, n = length(gender))
39 | }
40 |
41 | #----report_analysis----
42 | report_analysis <- function(analysis, cat = TRUE) {
43 | params <- report::report_parameters(analysis$test)
44 | table <- attributes(params)$table
45 | model <- report::report_model(analysis$test, table = table)
46 | if (analysis$use_rank)
47 | model <-
48 | stringr::str_replace(model,
49 | fixed("Welch Two Sample t-test"),
50 | "Mann--Whitney--Wilcoxon test")
51 | out <- stringr::str_c("The ", model, " suggests that the effect is ", params, sep = "")
52 | if(cat){
53 | cat(out)
54 | return(invisible(out))
55 | } else {
56 | return(out)
57 | }
58 | }
59 |
60 | #----extract_funs----
61 | #t2d <- function(t, n1, n2)t * sqrt(((n1 + n2)/(n1 * n2)) * (n1 + n2)/(n1 + n2 -2))
62 | t2d <- function(test){
63 | unname(2 * test$statistic/sqrt(test$parameter))
64 | }
65 | parameter_recovery <- function(n, df, d, i, rank = FALSE){
66 | t2d(planned_analysis(simulate_data(n, df, d, i), rank)$test$statistic, n/2, n/2)
67 | }
68 |
69 | extract_results <- function(analysis){
70 | list(cohend = t2d(analysis$test),
71 | p_value = analysis$test$p.value,
72 | skew = analysis$skew)
73 | }
74 |
75 | #----simulation_study----
76 | simulation_study_ <- function(setup){
77 | all_steps <- purrr::compose(extract_results, planned_analysis, simulate_data)
78 | out <- dplyr::mutate(setup, results = furrr::future_pmap(setup, all_steps, .options = furrr::furrr_options(seed = TRUE)))
79 | #tidyr::unnest(out, results)
80 | out
81 | }
82 |
83 | simulation_study <- function(setup, k, seed = NULL){
84 | furrr::future_map_dfr(seq_len(k), function(irrelevant)simulation_study_(setup), .options = furrr::furrr_options(seed = seed))
85 | }
86 |
--------------------------------------------------------------------------------
/README.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | output: github_document
3 | repro:
4 | images:
5 | - images/nutshell.svg
6 | ---
7 |
8 |
9 |
10 | # A Hitchhiker's Guide to Reproducible Research
11 |
12 |
13 |
14 | [](https://www.repostatus.org/#active)
15 |
16 | Preregistration as Code: [](https://doi.org/10.5281/zenodo.5170740)
17 |
18 | Results after Preregistration: [](https://doi.org/10.5281/zenodo.5171678)
19 |
20 | [📃Preprint📃](https://www.doi.org/10.31234/osf.io/fwxs4)
21 |
22 |
23 |
24 | ## How to reproduce this manuscript
25 |
26 | To reproduce this project Git, Make, and Docker is required (see [the installation guide](https://github.com/aaronpeikert/repro-tutorial/blob/main/install.md)).
27 |
28 | Open the terminal, download the repository, and enter the directory:
29 |
30 | ```bash
31 | git clone https://github.com/aaronpeikert/repro-tutorial.git
32 | cd repro-tutorial
33 | ```
34 |
35 | Then build the Docker image, and run Make:
36 |
37 | ```bash
38 | make docker &&
39 | make -B DOCKER=TRUE
40 | ```
41 |
42 | ## Abstract
43 |
44 | ```{r abstract, child = 'abstract.Rmd'}
45 | ```
46 |
47 | ```{r, echo=FALSE}
48 | knitr::include_graphics("images/nutshell.svg")
49 | ```
50 |
51 | ## Code of Conduct
52 |
53 | Please note that the repro-tutorial project is released with a [Contributor Code of Conduct](https://contributor-covenant.org/version/2/0/CODE_OF_CONDUCT.html).
54 | By contributing to this project, you agree to abide by its terms.
55 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | # A Hitchhiker’s Guide to Reproducible Research
5 |
6 |
7 |
8 | [](https://www.repostatus.org/#active)
11 |
12 | Preregistration as Code:
13 | [](https://doi.org/10.5281/zenodo.5170740)
14 |
15 | Results after Preregistration:
16 | [](https://doi.org/10.5281/zenodo.5171678)
17 |
18 | [📃Preprint📃](https://www.doi.org/10.31234/osf.io/fwxs4)
19 |
20 |
21 |
22 | ## How to reproduce this manuscript
23 |
24 | To reproduce this project Git, Make, and Docker is required (see [the
25 | installation
26 | guide](https://github.com/aaronpeikert/repro-tutorial/blob/main/install.md)).
27 |
28 | Open the terminal, download the repository, and enter the directory:
29 |
30 | ``` bash
31 | git clone https://github.com/aaronpeikert/repro-tutorial.git
32 | cd repro-tutorial
33 | ```
34 |
35 | Then build the Docker image, and run Make:
36 |
37 | ``` bash
38 | make docker &&
39 | make -B DOCKER=TRUE
40 | ```
41 |
42 | ## Abstract
43 |
44 | Computational reproducibility is the ability to obtain identical results
45 | from the *same* data with the *same* computer code. It is a building
46 | block for transparent and cumulative science because it enables the
47 | originator and other researchers, on other computers and later in time,
48 | to reproduce and thus understand how results came about while avoiding a
49 | variety of errors that may lead to erroneous reporting of statistical
50 | and computational results. In this tutorial, we demonstrate how the R
51 | package `repro` supports researchers in creating fully computationally
52 | reproducible research projects with tools from the software engineering
53 | community. Building upon this notion of fully automated reproducibility
54 | we present several applications including the preregistration of
55 | research plans with code (Preregistration as Code, PAC). PAC eschews all
56 | ambiguity of traditional preregistration and offers several more
57 | advantages. Making technical advancements that serve reproducibility
58 | more widely accessible for researchers holds the potential to innovate
59 | the research process to become more productive, credible, and reliable.
60 |
61 | 
62 |
63 | ## Code of Conduct
64 |
65 | Please note that the repro-tutorial project is released with a
66 | [Contributor Code of
67 | Conduct](https://contributor-covenant.org/version/2/0/CODE_OF_CONDUCT.html).
68 | By contributing to this project, you agree to abide by its terms.
69 |
--------------------------------------------------------------------------------
/abstract.Rmd:
--------------------------------------------------------------------------------
1 | Computational reproducibility is the ability to obtain identical results from the *same* data with the *same* computer code. It is a building block for transparent and cumulative science because it enables the originator and other researchers, on other computers and later in time, to reproduce and thus understand how results came about while avoiding a variety of errors that may lead to erroneous reporting of statistical and computational results. In this tutorial, we demonstrate how the R package `repro` supports researchers in creating fully computationally reproducible research projects with tools from the software engineering community. Building upon this notion of fully automated reproducibility we present several applications including the preregistration of research plans with code (Preregistration as Code, PAC). PAC eschews all ambiguity of traditional preregistration and offers several more advantages. Making technical advancements that serve reproducibility more widely accessible for researchers holds the potential to innovate the research process to become more productive, credible, and reliable.
2 |
--------------------------------------------------------------------------------
/data/overview.csv:
--------------------------------------------------------------------------------
1 | Setup,"1. install package manager when necessary (Chocolately for Windows and Homebrew for Mac OS)
2 | 2. install R + Rstudio with package manager (see installation guide)
3 | 2. install `remotes` package with `install.packages(""remotes"")`
4 | 2. install `repro`-package with `remotes::install_github(""aaronpeikert/repro"")`
5 | 2. Check Git with `repro::check_git()`
6 | 2. Check Make with `repro::check_make()`
7 | 2. Check Docker with `repro::check_docker()`
8 | 2. Check GitHub with `repro::check_github()`"
9 | Planning Phase,"1. Create an R Project with `repro::use_repro_template()` or `Rstudio → File → New Project... → New Directory → New Project`
10 | 2. Create a project draft `RStudio → File → New File → Markdown File`
11 | 2. Enable Git with `usethis::use_git()`
12 | 2. Use Git with `gert::git_add()` & `gert::git_commit()` or Terminal or Rstudio Git Pane
13 | 2. Create a README with `usethis::use_readme_rmd()`
14 | 2. Add a Licences for Text (`usethis::use_ccby_license()`), Code (`usethis::use_mit_license()`) and Data (`usethis::use_cc0_license()`).
15 | 2. Create a Code of Conduct with `usethis::use_code_of_conduct()`
16 | 2. Publish to Github with `usethis::use_github()`
17 | 2. (optional) Simulate Data with package `simstudy` or other
18 | 2. (optional) Preregister Manuscript including Code by assigning a DOI (see Archival and Dissemination)"
19 | Analyzing Data,"1. Create dynamic manuscript `RStudio → File → New File → R Markdown… → From Template` with `rticles` package
20 | 2. add required packages to YAML metadata header
21 | 2. generate `Dockerfile`with `repro::automate_docker()`
22 | 2. add required scripts and data to YAML metadata header
23 | 2. generate `Makefile` with `repro::automate_make()`
24 | 2. reproduce with `repro::automate()` and `repro::rerun()` on any change"
25 | Archival and Dissemination,"1. Connect zenodo.org with GitHub on https://zenodo.org/account/settings/github/
26 | 2. save docker image to file with `make save-docker`
27 | 3. (optional) if data is not committed to repository save hash of data and add synthetic data with `synthpop` package
28 | 4. Create release on GitHub, with rendered documents and docker image."
29 |
--------------------------------------------------------------------------------
/data/simulation_results.csv:
--------------------------------------------------------------------------------
1 | n,df,d,i,power,cohend_mean,cohend_sd
2 | 10,8,0,10,0.0304,-0.00369756702720728,0.9337871910642171
3 | 10,8,0.05,10,0.0295,0.06816207345640077,0.9333755988643844
4 | 10,8,0.1,10,0.0287,0.1392578368322405,0.935217116339786
5 | 10,8,0.15000000000000002,10,0.0306,0.21108481605828883,0.9361656583271327
6 | 10,8,0.2,10,0.0323,0.28289845169821626,0.9375574231355849
7 | 10,8,0.25,10,0.0368,0.35437909612942564,0.9418000756888645
8 | 10,8,0.30000000000000004,10,0.0404,0.42538318997771146,0.9473655551242337
9 | 10,8,0.35000000000000003,10,0.0463,0.496877711996777,0.9533049035772628
10 | 10,8,0.4,10,0.0531,0.5688589761111518,0.9611472310527751
11 | 10,8,0.45,10,0.06,0.6402702814398007,0.9664668232525958
12 | 10,8,0.5,10,0.0667,0.7108104452134212,0.9737100669152207
13 | 100,8,0,10,0.0251,-0.0014553102169257907,0.20643639975410266
14 | 100,8,0.05,10,0.0307,0.05207517381882778,0.20640728467300076
15 | 100,8,0.1,10,0.0464,0.105516591539752,0.20653616070786301
16 | 100,8,0.15000000000000002,10,0.0729,0.15905904619353262,0.20684168501321085
17 | 100,8,0.2,10,0.1122,0.21230580513031302,0.20726983719000994
18 | 100,8,0.25,10,0.1664,0.26554900389199626,0.20782272980601835
19 | 100,8,0.30000000000000004,10,0.2364,0.3189405397045686,0.2085751837965054
20 | 100,8,0.35000000000000003,10,0.3196,0.3720317020688279,0.20955923767920107
21 | 100,8,0.4,10,0.4157,0.425375545909308,0.2107399117156733
22 | 100,8,0.45,10,0.521,0.4784323773113551,0.212143577120441
23 | 100,8,0.5,10,0.6207,0.5313140019154445,0.21335861588049035
24 | 200,8,0,10,0.0228,-2.9846500551621236e-4,0.14188145803091978
25 | 200,8,0.05,10,0.0333,0.052434385313417965,0.1419687676657336
26 | 200,8,0.1,10,0.065,0.10532334340201992,0.14218111071202016
27 | 200,8,0.15000000000000002,10,0.127,0.1580544828441871,0.14247691912285856
28 | 200,8,0.2,10,0.2153,0.21063593370865927,0.1427977825954086
29 | 200,8,0.25,10,0.3383,0.26333456863519733,0.14343361215245334
30 | 200,8,0.30000000000000004,10,0.4771,0.31583307587581333,0.14423737045532234
31 | 200,8,0.35000000000000003,10,0.6203,0.36824487386439364,0.1450017623644888
32 | 200,8,0.4,10,0.7454,0.4204641068925298,0.14586510361049368
33 | 200,8,0.45,10,0.8487,0.4722819189288654,0.1467567010060035
34 | 200,8,0.5,10,0.9166,0.5238957982390827,0.1478271524083574
35 | 300,8,0,10,0.0258,0.0011813043539561409,0.11677693950705138
36 | 300,8,0.05,10,0.0407,0.053679231197410485,0.116892832846227
37 | 300,8,0.1,10,0.0925,0.10605823226453946,0.11704424654918136
38 | 300,8,0.15000000000000002,10,0.1898,0.15840510150379442,0.11730898649057059
39 | 300,8,0.2,10,0.3265,0.21075064561452597,0.11764760862816076
40 | 300,8,0.25,10,0.4997,0.2628686274102682,0.11807676016625769
41 | 300,8,0.30000000000000004,10,0.672,0.3148430328936486,0.11873571203086021
42 | 300,8,0.35000000000000003,10,0.8117,0.3667751537270362,0.11927376460248577
43 | 300,8,0.4,10,0.9042,0.41829988442537003,0.11993798509277193
44 | 300,8,0.45,10,0.9592,0.4697789155908388,0.12060632248358075
45 | 300,8,0.5,10,0.9856,0.5209283375708741,0.12161566994592045
46 | 400,8,0,10,0.0256,-0.0011206467473985147,0.10096986680803004
47 | 400,8,0.05,10,0.0442,0.051293364055349296,0.10093396975589335
48 | 400,8,0.1,10,0.1167,0.10366897296983987,0.10101834010131676
49 | 400,8,0.15000000000000002,10,0.242,0.15589362951859895,0.10123640119020265
50 | 400,8,0.2,10,0.4248,0.2080390190222488,0.10159626726073635
51 | 400,8,0.25,10,0.6281,0.2600653955433407,0.10197886989790717
52 | 400,8,0.30000000000000004,10,0.7996,0.31199949277509187,0.1024816331331853
53 | 400,8,0.35000000000000003,10,0.9121,0.3635661577276782,0.10302157520967502
54 | 400,8,0.4,10,0.9672,0.41497723595161967,0.10358610207413269
55 | 400,8,0.45,10,0.9893,0.46619688492494876,0.10425670228090331
56 | 400,8,0.5,10,0.9977,0.5171183512815323,0.10490434743614195
57 | 500,8,0,10,0.0242,-8.050554930555384e-4,0.09043879316274932
58 | 500,8,0.05,10,0.0502,0.05151426803514818,0.09048162852159959
59 | 500,8,0.1,10,0.1417,0.10383170691346154,0.0906446771994627
60 | 500,8,0.15000000000000002,10,0.3045,0.15613218780005556,0.09088263373346847
61 | 500,8,0.2,10,0.5261,0.20815156945734378,0.09120479822263591
62 | 500,8,0.25,10,0.7377,0.2601637114162166,0.09151154621563644
63 | 500,8,0.30000000000000004,10,0.8833,0.31191456089152353,0.09207558151603051
64 | 500,8,0.35000000000000003,10,0.9612,0.3633936999471425,0.0926180391829968
65 | 500,8,0.4,10,0.9909,0.4146270260475097,0.09332190690778681
66 | 500,8,0.45,10,0.9986,0.465521312202411,0.09410602443205572
67 | 500,8,0.5,10,0.9997,0.5162256517178507,0.09492336068528211
68 | 600,8,0,10,0.0273,4.803699245135898e-5,0.08285819622283336
69 | 600,8,0.05,10,0.0572,0.05224840117888022,0.0827810865259902
70 | 600,8,0.1,10,0.1646,0.10440623239594556,0.08287588349567801
71 | 600,8,0.15000000000000002,10,0.3676,0.15652194600553002,0.08302448200283495
72 | 600,8,0.2,10,0.6188,0.20846034575572173,0.0832988019719662
73 | 600,8,0.25,10,0.816,0.26015355310892874,0.08350258540345154
74 | 600,8,0.30000000000000004,10,0.9348,0.3117574749891988,0.08385160452650306
75 | 600,8,0.35000000000000003,10,0.9849,0.36312853228300673,0.08439539780341557
76 | 600,8,0.4,10,0.9973,0.41396806492532007,0.08504620870344427
77 | 600,8,0.45,10,0.9993,0.4648238677013226,0.08593764699126008
78 | 600,8,0.5,10,1,0.5152259964289941,0.08652729049460338
79 | 700,8,0,10,0.0251,8.347784069529023e-4,0.07568136563056144
80 | 700,8,0.05,10,0.0631,0.05307075082581977,0.07568898936273548
81 | 700,8,0.1,10,0.1955,0.10525379718867627,0.07582467186065629
82 | 700,8,0.15000000000000002,10,0.4303,0.15737482690537485,0.0760167542066416
83 | 700,8,0.2,10,0.6945,0.20933239454725838,0.07630572785151168
84 | 700,8,0.25,10,0.8851,0.2610112735195511,0.07669120768901126
85 | 700,8,0.30000000000000004,10,0.9667,0.312512843589493,0.07715807896953002
86 | 700,8,0.35000000000000003,10,0.9947,0.36365106751663023,0.07771543226568942
87 | 700,8,0.4,10,0.9994,0.41450892866770755,0.07825563263146951
88 | 700,8,0.45,10,1,0.46519258713289624,0.07895220735335187
89 | 700,8,0.5,10,1,0.5155487946610011,0.07967762997752845
90 | 800,8,0,10,0.0244,8.253661800373417e-4,0.07035945568495551
91 | 800,8,0.05,10,0.0672,0.05298165516049049,0.07032343306383197
92 | 800,8,0.1,10,0.2227,0.10510758172390196,0.07046482210905011
93 | 800,8,0.15000000000000002,10,0.4845,0.15712906955349412,0.0707062504426722
94 | 800,8,0.2,10,0.7554,0.2090648698883268,0.07100710417022504
95 | 800,8,0.25,10,0.9231,0.26075135901959456,0.07136085288985546
96 | 800,8,0.30000000000000004,10,0.984,0.31230689234152326,0.07196347648190746
97 | 800,8,0.35000000000000003,10,0.9984,0.3633969491605072,0.07251567603193834
98 | 800,8,0.4,10,1,0.41406769319950915,0.07308077170773974
99 | 800,8,0.45,10,1,0.46457856076922605,0.07377377975865339
100 | 800,8,0.5,10,1,0.5148036182899117,0.07454936420924503
101 | 900,8,0,10,0.026,-3.9982444380395475e-4,0.06671936761558946
102 | 900,8,0.05,10,0.0727,0.05176977792085418,0.06679671484034032
103 | 900,8,0.1,10,0.2449,0.10391006668081544,0.06696218722360092
104 | 900,8,0.15000000000000002,10,0.5334,0.15592747713906507,0.06732602165067895
105 | 900,8,0.2,10,0.8037,0.2077964569439189,0.06762977321698017
106 | 900,8,0.25,10,0.9494,0.2594410887926023,0.06802541926110321
107 | 900,8,0.30000000000000004,10,0.9908,0.31096470918137664,0.06849732353313916
108 | 900,8,0.35000000000000003,10,0.9996,0.3619676207293033,0.06905397551525175
109 | 900,8,0.4,10,1,0.41263659133499236,0.06970009319900157
110 | 900,8,0.45,10,1,0.4628344477816144,0.07018230008456207
111 | 900,8,0.5,10,1,0.5128184206205271,0.07062434006096005
112 | 1000,8,0,10,0.0245,-0.001363263765469593,0.06333598708140331
113 | 1000,8,0.05,10,0.075,0.05081500566394723,0.06334967889075507
114 | 1000,8,0.1,10,0.2642,0.10293700753213221,0.06342239079529813
115 | 1000,8,0.15000000000000002,10,0.578,0.15488093638974393,0.06358879279086642
116 | 1000,8,0.2,10,0.8414,0.20675437320440632,0.0638892370050641
117 | 1000,8,0.25,10,0.9658,0.25842981668544335,0.06427045862879328
118 | 1000,8,0.30000000000000004,10,0.9962,0.30983498021184613,0.06476310693414682
119 | 1000,8,0.35000000000000003,10,0.9996,0.3609022343293466,0.06539313512597113
120 | 1000,8,0.4,10,1,0.4116242151241541,0.065955710694309
121 | 1000,8,0.45,10,1,0.46178505157072586,0.0665758817432032
122 | 1000,8,0.5,10,1,0.5116654099961008,0.06700331321281143
123 |
--------------------------------------------------------------------------------
/images/idea-change.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aaronpeikert/repro-tutorial/61e6ae22a27ccf28fe2c1c3fa97c19e1cfc84b96/images/idea-change.png
--------------------------------------------------------------------------------
/images/modified.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aaronpeikert/repro-tutorial/61e6ae22a27ccf28fe2c1c3fa97c19e1cfc84b96/images/modified.pdf
--------------------------------------------------------------------------------
/images/modified.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aaronpeikert/repro-tutorial/61e6ae22a27ccf28fe2c1c3fa97c19e1cfc84b96/images/modified.png
--------------------------------------------------------------------------------
/images/nutshell.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aaronpeikert/repro-tutorial/61e6ae22a27ccf28fe2c1c3fa97c19e1cfc84b96/images/nutshell.pdf
--------------------------------------------------------------------------------
/images/nutshell.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
834 |
--------------------------------------------------------------------------------
/install.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Installation of Required Software"
3 | author: "Aaron Peikert"
4 | date: "05/01/2021"
5 | output:
6 | github_document:
7 | number_sections: true
8 | repro:
9 | packages:
10 | - here
11 | scripts:
12 | - R/link.R
13 | ---
14 |
15 | ```{r setup, include=FALSE}
16 | source(here::here("R", "link.R"))
17 | ```
18 |
19 |
20 | # Why you want to use package managers
21 |
22 | Installing software can be a painful experience, especially if you have to sift through the documentation for multiple platforms.
23 | A package manager helps you to install, update and remove software on your computer, automating large parts of the process for you.
24 | Most importantly, the installation process is the same for every software, not unlike the appstore on your phone.
25 | Unfortunately though, it is not as pleasantly designed, but is used through the terminal.
26 | If the thought of using a terminal lets you hesitate, rest assured it is easier than you might think.
27 |
28 |
29 | # Windows 10
30 |
31 | ## How to open a terminal on Windows 10?
32 |
33 | 1. Press Windows 10 key + X.
34 | 2. Click on "Windows Powershell" or "Windows Powershell (Admin)" (if you are using Chocolately)
35 |
36 | ## How to install a package manager for Windows 10?
37 |
38 | `r link("https://chocolatey.org/", "Chocolately")` is a great package manager for Windows 10.
39 | You should follow these installation instructions: `r link("https://chocolatey.org/docs/installation")`, but if you are in a hurry:
40 |
41 | 1. Press Windows key + X, click on "Windows Powershell (Admin)".
42 | 2. Paste: `Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))`
43 | 3. Press enter.
44 | 4. Close the PowerShell
45 |
46 | ## How to install R + Rstudio with a package manager?
47 |
48 | Since you probably already have R and RStudio you may skip this step.
49 |
50 | 1. Open a new terminal (Press Windows key + X, click on "Windows Powershell (Admin)").
51 | 2. Paste `choco install -y r r.studio rtools`
52 | 3. Press enter
53 |
54 | ## How to install Git, Make, and Docker with a package manager?
55 |
56 | Please note that Docker does may not work on Windows 10 Home, because Docker requires a feature called virtualization which you may have to enable. In that case follow this [guide](https://docs.docker.com/docker-for-windows/troubleshoot/#virtualization). This feature is usually enabled in Windows Pro or Education.
57 | On Windows Home, you also require the Windows Subsystem for Linux (WSL) as well as the WSL Ubuntu extension.
58 |
59 | 1. Open a new terminal (Press Windows key + X, click on “Windows
60 | Powershell (Admin)”).
61 | 2. Paste `choco install -y git make docker`
62 | 3. Press enter.
63 |
64 | On Windows Home and systems without Hyper V:
65 |
66 | 1. Open a new terminal (Press Windows key + X, click on “Windows
67 | Powershell (Admin)”).
68 | 2. Paste `choco install -y git make docker wsl`
69 | 3. Press enter.
70 | 4. Restart.
71 | 5. Open a new terminal (Press Windows key + X, click on “Windows
72 | Powershell (Admin)”).
73 | 6. Paste `choco install -y wsl-ubuntu-2004`
74 | 7. Press enter.
75 |
76 | # Mac OS
77 |
78 | ## How to open a terminal on Mac OS?
79 |
80 | 1. Press Command + Space.
81 | 2. Type "Terminal".
82 | 3. Press enter.
83 |
84 | ## How to install a package manager for Mac OS?
85 |
86 | `r link("https://brew.sh", "Homebrew")` is a great package manager for Mac OS. To install it:
87 |
88 | 1. Open a new terminal (Press Command + Space, type "Terminal", press enter).
89 | 2. Paste `xcode-select --install` and press enter to install xcode.
90 | 3. Paste: `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"`.
91 | 4. Press enter.
92 | 5. Close the terminal.
93 |
94 | ## How to install R + Rstudio with a package manager?
95 |
96 | Since you probably already have R and RStudio you may skip this step.
97 |
98 | 1. Open a new terminal (Press Command + Space, type "Terminal", press enter).
99 | 2. Paste `brew install r` and press enter to install R.
100 | 3. Paste `brew install --cask rstudio` and press enter to install RStudio.
101 |
102 | ## How to install Git, Make, and Docker with a package manager?
103 |
104 | 1. Open a new terminal (Press Command + Space, type "Terminal", press enter).
105 | 2. Paste `brew install git make docker`.
106 | 3. Press enter.
107 |
108 | ```{r link_index, results='asis', echo=FALSE}
109 | link_index()
110 | ```
111 |
--------------------------------------------------------------------------------
/install.md:
--------------------------------------------------------------------------------
1 | Installation of Required Software
2 | ================
3 | Aaron Peikert
4 | 05/01/2021
5 |
6 | # 1 Why you want to use package managers
7 |
8 | Installing software can be a painful experience, especially if you have
9 | to sift through the documentation for multiple platforms. A package
10 | manager helps you to install, update and remove software on your
11 | computer, automating large parts of the process for you. Most
12 | importantly, the installation process is the same for every software,
13 | not unlike the appstore on your phone. Unfortunately though, it is not
14 | as pleasantly designed, but is used through the terminal. If the thought
15 | of using a terminal lets you hesitate, rest assured it is easier than
16 | you might think.
17 |
18 | # 2 Windows 10
19 |
20 | ## 2.1 How to open a terminal on Windows 10?
21 |
22 | 1. Press Windows 10 key + X.
23 | 2. Click on “Windows Powershell” or “Windows Powershell (Admin)” (if
24 | you are using Chocolately)
25 |
26 | ## 2.2 How to install a package manager for Windows 10?
27 |
28 | [Chocolately](https://chocolatey.org/)[1] is a great package manager for
29 | Windows 10. You should follow these installation instructions:
30 | , but if you are in a hurry:
31 |
32 | 1. Press Windows key + X, click on “Windows Powershell (Admin)”.
33 | 2. Paste:
34 | `Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))`
35 | 3. Press enter.
36 | 4. Close the PowerShell
37 |
38 | ## 2.3 How to install R + Rstudio with a package manager?
39 |
40 | Since you probably already have R and RStudio you may skip this step.
41 |
42 | 1. Open a new terminal (Press Windows key + X, click on “Windows
43 | Powershell (Admin)”).
44 | 2. Paste `choco install -y r r.studio rtools`
45 | 3. Press enter
46 |
47 | ## 2.4 How to install Git, Make, and Docker with a package manager?
48 |
49 | Please note that Docker does may not work on Windows 10 Home, because
50 | Docker requires a feature called virtualization which you may have to
51 | enable. In that case follow this
52 | [guide](https://docs.docker.com/docker-for-windows/troubleshoot/#virtualization).
53 | This feature is usually enabled in Windows Pro or Education. On Windows
54 | Home, you also require the Windows Subsystem for Linux (WSL) as well as
55 | the WSL Ubuntu extension.
56 |
57 | 1. Open a new terminal (Press Windows key + X, click on “Windows
58 | Powershell (Admin)”).
59 | 2. Paste `choco install -y git make docker`
60 | 3. Press enter.
61 |
62 | On Windows Home and systems without Hyper V:
63 |
64 | 1. Open a new terminal (Press Windows key + X, click on “Windows
65 | Powershell (Admin)”).
66 | 2. Paste `choco install -y git make docker wsl`
67 | 3. Press enter.
68 | 4. Restart.
69 | 5. Open a new terminal (Press Windows key + X, click on “Windows
70 | Powershell (Admin)”).
71 | 6. Paste `choco install -y wsl-ubuntu-2004`
72 | 7. Press enter.
73 |
74 | # 3 Mac OS
75 |
76 | ## 3.1 How to open a terminal on Mac OS?
77 |
78 | 1. Press Command + Space.
79 | 2. Type “Terminal”.
80 | 3. Press enter.
81 |
82 | ## 3.2 How to install a package manager for Mac OS?
83 |
84 | [Homebrew](https://brew.sh)[2] is a great package manager for Mac OS. To
85 | install it:
86 |
87 | 1. Open a new terminal (Press Command + Space, type “Terminal”, press
88 | enter).
89 | 2. Paste `xcode-select --install` and press enter to install xcode.
90 | 3. Paste:
91 | `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"`.
92 | 4. Press enter.
93 | 5. Close the terminal.
94 |
95 | ## 3.3 How to install R + Rstudio with a package manager?
96 |
97 | Since you probably already have R and RStudio you may skip this step.
98 |
99 | 1. Open a new terminal (Press Command + Space, type “Terminal”, press
100 | enter).
101 | 2. Paste `brew install r` and press enter to install R.
102 | 3. Paste `brew install --cask rstudio` and press enter to install
103 | RStudio.
104 |
105 | ## 3.4 How to install Git, Make, and Docker with a package manager?
106 |
107 | 1. Open a new terminal (Press Command + Space, type “Terminal”, press
108 | enter).
109 | 2. Paste `brew install git make docker`.
110 | 3. Press enter.
111 |
112 | [1]
113 |
114 | [2]
115 |
--------------------------------------------------------------------------------
/journalnames.tex:
--------------------------------------------------------------------------------
1 | \DeclareOption{acoustics}{ \gdef\@journal{acoustics} \gdef\@journalshort{Acoustics} \gdef\@journalfull{Acoustics} \gdef\@doiabbr{acoustics} \gdef\@ISSN{2624-599X} }
2 | \DeclareOption{actuators}{ \gdef\@journal{actuators} \gdef\@journalshort{Actuators} \gdef\@journalfull{Actuators} \gdef\@doiabbr{act} \gdef\@ISSN{2076-0825} }
3 | \DeclareOption{addictions}{ \gdef\@journal{addictions} \gdef\@journalshort{Addictions} \gdef\@journalfull{Addictions} \gdef\@doiabbr{} \gdef\@ISSN{0006-0006} }
4 | \DeclareOption{admsci}{ \gdef\@journal{admsci} \gdef\@journalshort{Adm. Sci.} \gdef\@journalfull{Administrative Sciences} \gdef\@doiabbr{admsci} \gdef\@ISSN{2076-3387} }
5 | \DeclareOption{aerospace}{ \gdef\@journal{aerospace} \gdef\@journalshort{Aerospace} \gdef\@journalfull{Aerospace} \gdef\@doiabbr{aerospace} \gdef\@ISSN{2226-4310} }
6 | \DeclareOption{agriculture}{ \gdef\@journal{agriculture} \gdef\@journalshort{Agriculture} \gdef\@journalfull{Agriculture} \gdef\@doiabbr{agriculture} \gdef\@ISSN{2077-0472} }
7 | \DeclareOption{agriengineering}{ \gdef\@journal{agriengineering} \gdef\@journalshort{AgriEngineering} \gdef\@journalfull{AgriEngineering} \gdef\@doiabbr{agriengineering} \gdef\@ISSN{2624-7402} }
8 | \DeclareOption{agronomy}{ \gdef\@journal{agronomy} \gdef\@journalshort{Agronomy} \gdef\@journalfull{Agronomy} \gdef\@doiabbr{agronomy} \gdef\@ISSN{2073-4395} }
9 | \DeclareOption{algorithms}{ \gdef\@journal{algorithms} \gdef\@journalshort{Algorithms} \gdef\@journalfull{Algorithms} \gdef\@doiabbr{a} \gdef\@ISSN{1999-4893} }
10 | \DeclareOption{animals}{ \gdef\@journal{animals} \gdef\@journalshort{Animals} \gdef\@journalfull{Animals} \gdef\@doiabbr{ani} \gdef\@ISSN{2076-2615} }
11 | \DeclareOption{antibiotics}{ \gdef\@journal{antibiotics} \gdef\@journalshort{Antibiotics} \gdef\@journalfull{Antibiotics} \gdef\@doiabbr{antibiotics} \gdef\@ISSN{2079-6382} }
12 | \DeclareOption{antibodies}{ \gdef\@journal{antibodies} \gdef\@journalshort{Antibodies} \gdef\@journalfull{Antibodies} \gdef\@doiabbr{antib} \gdef\@ISSN{2073-4468} }
13 | \DeclareOption{antioxidants}{ \gdef\@journal{antioxidants} \gdef\@journalshort{Antioxidants} \gdef\@journalfull{Antioxidants} \gdef\@doiabbr{antiox} \gdef\@ISSN{2076-3921} }
14 | \DeclareOption{applsci}{ \gdef\@journal{applsci} \gdef\@journalshort{Appl. Sci.} \gdef\@journalfull{Applied Sciences} \gdef\@doiabbr{app} \gdef\@ISSN{2076-3417} }
15 | \DeclareOption{arts}{ \gdef\@journal{arts} \gdef\@journalshort{Arts} \gdef\@journalfull{Arts} \gdef\@doiabbr{arts} \gdef\@ISSN{2076-0752} }
16 | \DeclareOption{asc}{ \gdef\@journal{asc} \gdef\@journalshort{Autom. Syst. Control} \gdef\@journalfull{Automatic Systems and Control} \gdef\@doiabbr{} \gdef\@ISSN{} }
17 | \DeclareOption{asi}{ \gdef\@journal{asi} \gdef\@journalshort{Appl. Syst. Innov.} \gdef\@journalfull{Applied System Innovation} \gdef\@doiabbr{asi} \gdef\@ISSN{2571-5577} }
18 | \DeclareOption{atmosphere}{ \gdef\@journal{atmosphere} \gdef\@journalshort{Atmosphere} \gdef\@journalfull{Atmosphere} \gdef\@doiabbr{atmos} \gdef\@ISSN{2073-4433} }
19 | \DeclareOption{atoms}{ \gdef\@journal{atoms} \gdef\@journalshort{Atoms} \gdef\@journalfull{Atoms} \gdef\@doiabbr{atoms} \gdef\@ISSN{2218-2004} }
20 | \DeclareOption{axioms}{ \gdef\@journal{axioms} \gdef\@journalshort{Axioms} \gdef\@journalfull{Axioms} \gdef\@doiabbr{axioms} \gdef\@ISSN{2075-1680} }
21 | \DeclareOption{batteries}{ \gdef\@journal{batteries} \gdef\@journalshort{Batteries} \gdef\@journalfull{Batteries} \gdef\@doiabbr{batteries} \gdef\@ISSN{2313-0105} }
22 | \DeclareOption{bdcc}{ \gdef\@journal{bdcc} \gdef\@journalshort{Big Data Cogn. Comput.} \gdef\@journalfull{Big Data and Cognitive Computing} \gdef\@doiabbr{bdcc} \gdef\@ISSN{2504-2289} }
23 | \DeclareOption{behavsci}{ \gdef\@journal{behavsci} \gdef\@journalshort{Behav. Sci.} \gdef\@journalfull{Behavioral Sciences} \gdef\@doiabbr{bs} \gdef\@ISSN{2076-328X} }
24 | \DeclareOption{beverages}{ \gdef\@journal{beverages} \gdef\@journalshort{Beverages} \gdef\@journalfull{Beverages} \gdef\@doiabbr{beverages} \gdef\@ISSN{2306-5710} }
25 | \DeclareOption{bioengineering}{ \gdef\@journal{bioengineering} \gdef\@journalshort{Bioengineering} \gdef\@journalfull{Bioengineering} \gdef\@doiabbr{bioengineering} \gdef\@ISSN{2306-5354} }
26 | \DeclareOption{biology}{ \gdef\@journal{biology} \gdef\@journalshort{Biology} \gdef\@journalfull{Biology} \gdef\@doiabbr{biology} \gdef\@ISSN{2079-7737} }
27 | \DeclareOption{biomedicines}{ \gdef\@journal{biomedicines} \gdef\@journalshort{Biomedicines} \gdef\@journalfull{Biomedicines} \gdef\@doiabbr{biomedicines} \gdef\@ISSN{2227-9059} }
28 | \DeclareOption{biomimetics}{ \gdef\@journal{biomimetics} \gdef\@journalshort{Biomimetics} \gdef\@journalfull{Biomimetics} \gdef\@doiabbr{biomimetics} \gdef\@ISSN{2313-7673} }
29 | \DeclareOption{biomolecules}{ \gdef\@journal{biomolecules} \gdef\@journalshort{Biomolecules} \gdef\@journalfull{Biomolecules} \gdef\@doiabbr{biom} \gdef\@ISSN{2218-273X} }
30 | \DeclareOption{biosensors}{ \gdef\@journal{biosensors} \gdef\@journalshort{Biosensors} \gdef\@journalfull{Biosensors} \gdef\@doiabbr{bios} \gdef\@ISSN{2079-6374} }
31 | \DeclareOption{brainsci}{ \gdef\@journal{brainsci} \gdef\@journalshort{Brain Sci.} \gdef\@journalfull{Brain Sciences} \gdef\@doiabbr{brainsci} \gdef\@ISSN{2076-3425} }
32 | \DeclareOption{buildings}{ \gdef\@journal{buildings} \gdef\@journalshort{Buildings} \gdef\@journalfull{Buildings} \gdef\@doiabbr{buildings} \gdef\@ISSN{2075-5309} }
33 | \DeclareOption{cancers}{ \gdef\@journal{cancers} \gdef\@journalshort{Cancers} \gdef\@journalfull{Cancers} \gdef\@doiabbr{cancers} \gdef\@ISSN{2072-6694} }
34 | \DeclareOption{carbon}{ \gdef\@journal{carbon} \gdef\@journalshort{C} \gdef\@journalfull{C} \gdef\@doiabbr{c} \gdef\@ISSN{2311-5629} }
35 | \DeclareOption{catalysts}{ \gdef\@journal{catalysts} \gdef\@journalshort{Catalysts} \gdef\@journalfull{Catalysts} \gdef\@doiabbr{catal} \gdef\@ISSN{2073-4344} }
36 | \DeclareOption{cells}{ \gdef\@journal{cells} \gdef\@journalshort{Cells} \gdef\@journalfull{Cells} \gdef\@doiabbr{cells} \gdef\@ISSN{2073-4409} }
37 | \DeclareOption{ceramics}{ \gdef\@journal{ceramics} \gdef\@journalshort{Ceramics} \gdef\@journalfull{Ceramics} \gdef\@doiabbr{ceramics} \gdef\@ISSN{2571-6131} }
38 | \DeclareOption{challenges}{ \gdef\@journal{challenges} \gdef\@journalshort{Challenges} \gdef\@journalfull{Challenges} \gdef\@doiabbr{challe} \gdef\@ISSN{2078-1547} }
39 | \DeclareOption{chemengineering}{ \gdef\@journal{chemengineering} \gdef\@journalshort{ChemEngineering} \gdef\@journalfull{ChemEngineering} \gdef\@doiabbr{chemengineering} \gdef\@ISSN{2305-7084} }
40 | \DeclareOption{chemistry}{ \gdef\@journal{chemistry} \gdef\@journalshort{Chemistry} \gdef\@journalfull{Chemistry} \gdef\@doiabbr{chemistry} \gdef\@ISSN{2624-8549} }
41 | \DeclareOption{chemosensors}{ \gdef\@journal{chemosensors} \gdef\@journalshort{Chemosensors} \gdef\@journalfull{Chemosensors} \gdef\@doiabbr{chemosensors} \gdef\@ISSN{2227-9040} }
42 | \DeclareOption{children}{ \gdef\@journal{children} \gdef\@journalshort{Children} \gdef\@journalfull{Children} \gdef\@doiabbr{children} \gdef\@ISSN{2227-9067} }
43 | \DeclareOption{cleantechnol}{ \gdef\@journal{cleantechnol} \gdef\@journalshort{Clean Technol.} \gdef\@journalfull{Clean Technologies} \gdef\@doiabbr{cleantechnol} \gdef\@ISSN{2571-8797} }
44 | \DeclareOption{climate}{ \gdef\@journal{climate} \gdef\@journalshort{Climate} \gdef\@journalfull{Climate} \gdef\@doiabbr{cli} \gdef\@ISSN{2225-1154} }
45 | \DeclareOption{clockssleep}{ \gdef\@journal{clockssleep} \gdef\@journalshort{Clocks\&Sleep} \gdef\@journalfull{Clocks \& Sleep} \gdef\@doiabbr{clockssleep} \gdef\@ISSN{2624-5175} }
46 | \DeclareOption{cmd}{ \gdef\@journal{cmd} \gdef\@journalshort{Corros. Mater. Degrad.} \gdef\@journalfull{Corrosion and Materials Degradation} \gdef\@doiabbr{cmd} \gdef\@ISSN{2624-5558} }
47 | \DeclareOption{coatings}{ \gdef\@journal{coatings} \gdef\@journalshort{Coatings} \gdef\@journalfull{Coatings} \gdef\@doiabbr{coatings} \gdef\@ISSN{2079-6412} }
48 | \DeclareOption{colloids}{ \gdef\@journal{colloids} \gdef\@journalshort{Colloids Interfaces} \gdef\@journalfull{Colloids Interfaces} \gdef\@doiabbr{colloids} \gdef\@ISSN{2504-5377} }
49 | \DeclareOption{computation}{ \gdef\@journal{computation} \gdef\@journalshort{Computation} \gdef\@journalfull{Computation} \gdef\@doiabbr{computation} \gdef\@ISSN{2079-3197} }
50 | \DeclareOption{computers}{ \gdef\@journal{computers} \gdef\@journalshort{Computers} \gdef\@journalfull{Computers} \gdef\@doiabbr{computers} \gdef\@ISSN{2073-431X} }
51 | \DeclareOption{condensedmatter}{ \gdef\@journal{condensedmatter} \gdef\@journalshort{Condens. Matter} \gdef\@journalfull{Condensed Matter} \gdef\@doiabbr{condmat} \gdef\@ISSN{2410-3896} }
52 | \DeclareOption{cosmetics}{ \gdef\@journal{cosmetics} \gdef\@journalshort{Cosmetics} \gdef\@journalfull{Cosmetics} \gdef\@doiabbr{cosmetics} \gdef\@ISSN{2079-9284} }
53 | \DeclareOption{cryptography}{ \gdef\@journal{cryptography} \gdef\@journalshort{Cryptography} \gdef\@journalfull{Cryptography} \gdef\@doiabbr{cryptography} \gdef\@ISSN{2410-387X} }
54 | \DeclareOption{crystals}{ \gdef\@journal{crystals} \gdef\@journalshort{Crystals} \gdef\@journalfull{Crystals} \gdef\@doiabbr{cryst} \gdef\@ISSN{2073-4352} }
55 | \DeclareOption{dairy}{ \gdef\@journal{dairy} \gdef\@journalshort{Dairy} \gdef\@journalfull{Dairy} \gdef\@doiabbr{dairy} \gdef\@ISSN{2624-862X} }
56 | \DeclareOption{data}{ \gdef\@journal{data} \gdef\@journalshort{Data} \gdef\@journalfull{Data} \gdef\@doiabbr{data} \gdef\@ISSN{2306-5729} }
57 | \DeclareOption{dentistry}{ \gdef\@journal{dentistry} \gdef\@journalshort{Dent. J.} \gdef\@journalfull{Dentistry Journal} \gdef\@doiabbr{dj} \gdef\@ISSN{2304-6767} }
58 | \DeclareOption{designs}{ \gdef\@journal{designs} \gdef\@journalshort{Designs} \gdef\@journalfull{Designs} \gdef\@doiabbr{designs} \gdef\@ISSN{2411-9660} }
59 | \DeclareOption{diagnostics}{ \gdef\@journal{diagnostics} \gdef\@journalshort{Diagnostics} \gdef\@journalfull{Diagnostics} \gdef\@doiabbr{diagnostics} \gdef\@ISSN{2075-4418} }
60 | \DeclareOption{diseases}{ \gdef\@journal{diseases} \gdef\@journalshort{Diseases} \gdef\@journalfull{Diseases} \gdef\@doiabbr{diseases} \gdef\@ISSN{2079-9721} }
61 | \DeclareOption{diversity}{ \gdef\@journal{diversity} \gdef\@journalshort{Diversity} \gdef\@journalfull{Diversity} \gdef\@doiabbr{d} \gdef\@ISSN{1424-2818} }
62 | \DeclareOption{drones}{ \gdef\@journal{drones} \gdef\@journalshort{Drones} \gdef\@journalfull{Drones} \gdef\@doiabbr{drones} \gdef\@ISSN{2504-446X} }
63 | \DeclareOption{econometrics}{ \gdef\@journal{econometrics} \gdef\@journalshort{Econometrics} \gdef\@journalfull{Econometrics} \gdef\@doiabbr{econometrics} \gdef\@ISSN{2225-1146} }
64 | \DeclareOption{economies}{ \gdef\@journal{economies} \gdef\@journalshort{Economies} \gdef\@journalfull{Economies} \gdef\@doiabbr{economies} \gdef\@ISSN{2227-7099} }
65 | \DeclareOption{education}{ \gdef\@journal{education} \gdef\@journalshort{Educ. Sci.} \gdef\@journalfull{Education Sciences} \gdef\@doiabbr{educsci} \gdef\@ISSN{2227-7102} }
66 | \DeclareOption{electrochem}{ \gdef\@journal{electrochem} \gdef\@journalshort{Electrochem} \gdef\@journalfull{Electrochem} \gdef\@doiabbr{electrochem} \gdef\@ISSN{} }
67 | \DeclareOption{electronics}{ \gdef\@journal{electronics} \gdef\@journalshort{Electronics} \gdef\@journalfull{Electronics} \gdef\@doiabbr{electronics} \gdef\@ISSN{2079-9292} }
68 | \DeclareOption{energies}{ \gdef\@journal{energies} \gdef\@journalshort{Energies} \gdef\@journalfull{Energies} \gdef\@doiabbr{en} \gdef\@ISSN{1996-1073} }
69 | \DeclareOption{entropy}{ \gdef\@journal{entropy} \gdef\@journalshort{Entropy} \gdef\@journalfull{Entropy} \gdef\@doiabbr{e} \gdef\@ISSN{1099-4300} }
70 | \DeclareOption{environments}{ \gdef\@journal{environments} \gdef\@journalshort{Environments} \gdef\@journalfull{Environments} \gdef\@doiabbr{environments} \gdef\@ISSN{2076-3298} }
71 | \DeclareOption{epigenomes}{ \gdef\@journal{epigenomes} \gdef\@journalshort{Epigenomes} \gdef\@journalfull{Epigenomes} \gdef\@doiabbr{epigenomes} \gdef\@ISSN{2075-4655} }
72 | \DeclareOption{est}{ \gdef\@journal{est} \gdef\@journalshort{Electrochem. Sci. Technol.} \gdef\@journalfull{Electrochemical Science and Technology} \gdef\@doiabbr{} \gdef\@ISSN{} }
73 | \DeclareOption{fermentation}{ \gdef\@journal{fermentation} \gdef\@journalshort{Fermentation} \gdef\@journalfull{Fermentation} \gdef\@doiabbr{fermentation} \gdef\@ISSN{2311-5637} }
74 | \DeclareOption{fibers}{ \gdef\@journal{fibers} \gdef\@journalshort{Fibers} \gdef\@journalfull{Fibers} \gdef\@doiabbr{fib} \gdef\@ISSN{2079-6439} }
75 | \DeclareOption{fire}{ \gdef\@journal{fire} \gdef\@journalshort{Fire} \gdef\@journalfull{Fire} \gdef\@doiabbr{fire} \gdef\@ISSN{2571-6255} }
76 | \DeclareOption{fishes}{ \gdef\@journal{fishes} \gdef\@journalshort{Fishes} \gdef\@journalfull{Fishes} \gdef\@doiabbr{fishes} \gdef\@ISSN{2410-3888} }
77 | \DeclareOption{fluids}{ \gdef\@journal{fluids} \gdef\@journalshort{Fluids} \gdef\@journalfull{Fluids} \gdef\@doiabbr{fluids} \gdef\@ISSN{2311-5521} }
78 | \DeclareOption{foods}{ \gdef\@journal{foods} \gdef\@journalshort{Foods} \gdef\@journalfull{Foods} \gdef\@doiabbr{foods} \gdef\@ISSN{2304-8158} }
79 | \DeclareOption{forecasting}{ \gdef\@journal{forecasting} \gdef\@journalshort{Forecasting} \gdef\@journalfull{Forecasting} \gdef\@doiabbr{forecast} \gdef\@ISSN{2571-9394} }
80 | \DeclareOption{forests}{ \gdef\@journal{forests} \gdef\@journalshort{Forests} \gdef\@journalfull{Forests} \gdef\@doiabbr{f} \gdef\@ISSN{1999-4907} }
81 | \DeclareOption{fractalfract}{ \gdef\@journal{fractalfract} \gdef\@journalshort{Fractal Fract.} \gdef\@journalfull{Fractal and Fractional} \gdef\@doiabbr{fractalfract} \gdef\@ISSN{2504-3110} }
82 | \DeclareOption{futureinternet}{ \gdef\@journal{futureinternet} \gdef\@journalshort{Future Internet} \gdef\@journalfull{Future Internet} \gdef\@doiabbr{fi} \gdef\@ISSN{1999-5903} }
83 | \DeclareOption{futurephys}{ \gdef\@journal{futurephys} \gdef\@journalshort{Future Phys.} \gdef\@journalfull{Future Physics} \gdef\@doiabbr{futurephys} \gdef\@ISSN{2624-6503} }
84 | \DeclareOption{galaxies}{ \gdef\@journal{galaxies} \gdef\@journalshort{Galaxies} \gdef\@journalfull{Galaxies} \gdef\@doiabbr{galaxies} \gdef\@ISSN{2075-4434} }
85 | \DeclareOption{games}{ \gdef\@journal{games} \gdef\@journalshort{Games} \gdef\@journalfull{Games} \gdef\@doiabbr{g} \gdef\@ISSN{2073-4336} }
86 | \DeclareOption{gastrointestdisord}{ \gdef\@journal{gastrointestdisord} \gdef\@journalshort{Gastrointest. Disord.} \gdef\@journalfull{Gastrointestinal Disorders} \gdef\@doiabbr{gidisord} \gdef\@ISSN{2624-5647} }
87 | \DeclareOption{gels}{ \gdef\@journal{gels} \gdef\@journalshort{Gels} \gdef\@journalfull{Gels} \gdef\@doiabbr{gels} \gdef\@ISSN{2310-2861} }
88 | \DeclareOption{genealogy}{ \gdef\@journal{genealogy} \gdef\@journalshort{Genealogy} \gdef\@journalfull{Genealogy} \gdef\@doiabbr{genealogy} \gdef\@ISSN{2313-5778} }
89 | \DeclareOption{genes}{ \gdef\@journal{genes} \gdef\@journalshort{Genes} \gdef\@journalfull{Genes} \gdef\@doiabbr{genes} \gdef\@ISSN{2073-4425} }
90 | \DeclareOption{geohazards}{ \gdef\@journal{geohazards} \gdef\@journalshort{GeoHazards} \gdef\@journalfull{GeoHazards} \gdef\@doiabbr{geohazards} \gdef\@ISSN{2624-795X} }
91 | \DeclareOption{geosciences}{ \gdef\@journal{geosciences} \gdef\@journalshort{Geosciences} \gdef\@journalfull{Geosciences} \gdef\@doiabbr{geosciences} \gdef\@ISSN{2076-3263} }
92 | \DeclareOption{geriatrics}{ \gdef\@journal{geriatrics} \gdef\@journalshort{Geriatrics} \gdef\@journalfull{Geriatrics} \gdef\@doiabbr{geriatrics} \gdef\@ISSN{2308-3417} }
93 | \DeclareOption{hazardousmatters}{ \gdef\@journal{hazardousmatters} \gdef\@journalshort{Hazard. Matters} \gdef\@journalfull{Hazardous Matters} \gdef\@doiabbr{} \gdef\@ISSN{0014-0014} }
94 | \DeclareOption{healthcare}{ \gdef\@journal{healthcare} \gdef\@journalshort{Healthcare} \gdef\@journalfull{Healthcare} \gdef\@doiabbr{healthcare} \gdef\@ISSN{2227-9032} }
95 | \DeclareOption{heritage}{ \gdef\@journal{heritage} \gdef\@journalshort{Heritage} \gdef\@journalfull{Heritage} \gdef\@doiabbr{heritage} \gdef\@ISSN{2571-9408} }
96 | \DeclareOption{highthroughput}{ \gdef\@journal{highthroughput} \gdef\@journalshort{High-Throughput} \gdef\@journalfull{High-Throughput} \gdef\@doiabbr{ht} \gdef\@ISSN{2571-5135} }
97 | \DeclareOption{horticulturae}{ \gdef\@journal{horticulturae} \gdef\@journalshort{Horticulturae} \gdef\@journalfull{Horticulturae} \gdef\@doiabbr{horticulturae} \gdef\@ISSN{2311-7524} }
98 | \DeclareOption{humanities}{ \gdef\@journal{humanities} \gdef\@journalshort{Humanities} \gdef\@journalfull{Humanities} \gdef\@doiabbr{h} \gdef\@ISSN{2076-0787} }
99 | \DeclareOption{hydrology}{ \gdef\@journal{hydrology} \gdef\@journalshort{Hydrology} \gdef\@journalfull{Hydrology} \gdef\@doiabbr{hydrology} \gdef\@ISSN{2306-5338} }
100 | \DeclareOption{ijerph}{ \gdef\@journal{ijerph} \gdef\@journalshort{Int. J. Environ. Res. Public Health} \gdef\@journalfull{International Journal of Environmental Research and Public Health} \gdef\@doiabbr{ijerph} \gdef\@ISSN{1660-4601} }
101 | \DeclareOption{ijfs}{ \gdef\@journal{ijfs} \gdef\@journalshort{Int. J. Financial Stud.} \gdef\@journalfull{International Journal of Financial Studies} \gdef\@doiabbr{ijfs} \gdef\@ISSN{2227-7072} }
102 | \DeclareOption{ijgi}{ \gdef\@journal{ijgi} \gdef\@journalshort{ISPRS Int. J. Geo-Inf.} \gdef\@journalfull{ISPRS International Journal of Geo-Information} \gdef\@doiabbr{ijgi} \gdef\@ISSN{2220-9964} }
103 | \DeclareOption{ijms}{ \gdef\@journal{ijms} \gdef\@journalshort{Int. J. Mol. Sci.} \gdef\@journalfull{International Journal of Molecular Sciences} \gdef\@doiabbr{ijms} \gdef\@ISSN{1422-0067} }
104 | \DeclareOption{ijtpp}{ \gdef\@journal{ijtpp} \gdef\@journalshort{Int. J. Turbomach. Propuls. Power} \gdef\@journalfull{International Journal of Turbomachinery, Propulsion and Power} \gdef\@doiabbr{ijtpp} \gdef\@ISSN{2504-186X} }
105 | \DeclareOption{informatics}{ \gdef\@journal{informatics} \gdef\@journalshort{Informatics} \gdef\@journalfull{Informatics} \gdef\@doiabbr{informatics} \gdef\@ISSN{2227-9709} }
106 | \DeclareOption{information}{ \gdef\@journal{information} \gdef\@journalshort{Information} \gdef\@journalfull{Information} \gdef\@doiabbr{info} \gdef\@ISSN{2078-2489} }
107 | \DeclareOption{infrastructures}{ \gdef\@journal{infrastructures} \gdef\@journalshort{Infrastructures} \gdef\@journalfull{Infrastructures} \gdef\@doiabbr{infrastructures} \gdef\@ISSN{2412-3811} }
108 | \DeclareOption{inorganics}{ \gdef\@journal{inorganics} \gdef\@journalshort{Inorganics} \gdef\@journalfull{Inorganics} \gdef\@doiabbr{inorganics} \gdef\@ISSN{2304-6740} }
109 | \DeclareOption{insects}{ \gdef\@journal{insects} \gdef\@journalshort{Insects} \gdef\@journalfull{Insects} \gdef\@doiabbr{insects} \gdef\@ISSN{2075-4450} }
110 | \DeclareOption{instruments}{ \gdef\@journal{instruments} \gdef\@journalshort{Instruments} \gdef\@journalfull{Instruments} \gdef\@doiabbr{instruments} \gdef\@ISSN{2410-390X} }
111 | \DeclareOption{inventions}{ \gdef\@journal{inventions} \gdef\@journalshort{Inventions} \gdef\@journalfull{Inventions} \gdef\@doiabbr{inventions} \gdef\@ISSN{2411-5134} }
112 | \DeclareOption{iot}{ \gdef\@journal{iot} \gdef\@journalshort{IoT} \gdef\@journalfull{IoT} \gdef\@doiabbr{iot} \gdef\@ISSN{2624-831X} }
113 | \DeclareOption{j}{ \gdef\@journal{j} \gdef\@journalshort{J} \gdef\@journalfull{J} \gdef\@doiabbr{j} \gdef\@ISSN{2571-8800} }
114 | \DeclareOption{jcdd}{ \gdef\@journal{jcdd} \gdef\@journalshort{J. Cardiovasc. Dev. Dis.} \gdef\@journalfull{Journal of Cardiovascular Development and Disease} \gdef\@doiabbr{jcdd} \gdef\@ISSN{2308-3425} }
115 | \DeclareOption{jcm}{ \gdef\@journal{jcm} \gdef\@journalshort{J. Clin. Med.} \gdef\@journalfull{Journal of Clinical Medicine} \gdef\@doiabbr{jcm} \gdef\@ISSN{2077-0383} }
116 | \DeclareOption{jcp}{ \gdef\@journal{jcp} \gdef\@journalshort{J. Cybersecur. Priv.} \gdef\@journalfull{Journal of Cybersecurity and Privacy} \gdef\@doiabbr{jcp} \gdef\@ISSN{2624-800X} }
117 | \DeclareOption{jcs}{ \gdef\@journal{jcs} \gdef\@journalshort{J. Compos. Sci.} \gdef\@journalfull{Journal of Composites Science} \gdef\@doiabbr{jcs} \gdef\@ISSN{2504-477X} }
118 | \DeclareOption{jdb}{ \gdef\@journal{jdb} \gdef\@journalshort{J. Dev. Biol.} \gdef\@journalfull{Journal of Developmental Biology} \gdef\@doiabbr{jdb} \gdef\@ISSN{2221-3759} }
119 | \DeclareOption{jfb}{ \gdef\@journal{jfb} \gdef\@journalshort{J. Funct. Biomater.} \gdef\@journalfull{Journal of Functional Biomaterials} \gdef\@doiabbr{jfb} \gdef\@ISSN{2079-4983} }
120 | \DeclareOption{jfmk}{ \gdef\@journal{jfmk} \gdef\@journalshort{J. Funct. Morphol. Kinesiol.} \gdef\@journalfull{Journal of Functional Morphology and Kinesiology} \gdef\@doiabbr{jfmk} \gdef\@ISSN{2411-5142} }
121 | \DeclareOption{jimaging}{ \gdef\@journal{jimaging} \gdef\@journalshort{J. Imaging} \gdef\@journalfull{Journal of Imaging} \gdef\@doiabbr{jimaging} \gdef\@ISSN{2313-433X} }
122 | \DeclareOption{jintelligence}{ \gdef\@journal{jintelligence} \gdef\@journalshort{J. Intell.} \gdef\@journalfull{Journal of Intelligence} \gdef\@doiabbr{jintelligence} \gdef\@ISSN{2079-3200} }
123 | \DeclareOption{jlpea}{ \gdef\@journal{jlpea} \gdef\@journalshort{J. Low Power Electron. Appl.} \gdef\@journalfull{Journal of Low Power Electronics and Applications} \gdef\@doiabbr{jlpea} \gdef\@ISSN{2079-9268} }
124 | \DeclareOption{jmmp}{ \gdef\@journal{jmmp} \gdef\@journalshort{J. Manuf. Mater. Process.} \gdef\@journalfull{Journal of Manufacturing and Materials Processing} \gdef\@doiabbr{jmmp} \gdef\@ISSN{2504-4494} }
125 | \DeclareOption{jmse}{ \gdef\@journal{jmse} \gdef\@journalshort{J. Mar. Sci. Eng.} \gdef\@journalfull{Journal of Marine Science and Engineering} \gdef\@doiabbr{jmse} \gdef\@ISSN{2077-1312} }
126 | \DeclareOption{jnt}{ \gdef\@journal{jnt} \gdef\@journalshort{J. Nanotheranostics} \gdef\@journalfull{Journal of Nanotheranostics} \gdef\@doiabbr{jnt} \gdef\@ISSN{2624-845X} }
127 | \DeclareOption{jof}{ \gdef\@journal{jof} \gdef\@journalshort{J. Fungi} \gdef\@journalfull{Journal of Fungi} \gdef\@doiabbr{jof} \gdef\@ISSN{2309-608X} }
128 | \DeclareOption{joitmc}{ \gdef\@journal{joitmc} \gdef\@journalshort{J. Open Innov. Technol. Mark. Complex.} \gdef\@journalfull{Journal of Open Innovation: Technology, Market, and Complexity} \gdef\@doiabbr{joitmc} \gdef\@ISSN{2199-8531} }
129 | \DeclareOption{jpm}{ \gdef\@journal{jpm} \gdef\@journalshort{J. Pers. Med.} \gdef\@journalfull{Journal of Personalized Medicine} \gdef\@doiabbr{jpm} \gdef\@ISSN{2075-4426} }
130 | \DeclareOption{jrfm}{ \gdef\@journal{jrfm} \gdef\@journalshort{J. Risk Financial Manag.} \gdef\@journalfull{Journal of Risk and Financial Management} \gdef\@doiabbr{jrfm} \gdef\@ISSN{1911-8074} }
131 | \DeclareOption{jsan}{ \gdef\@journal{jsan} \gdef\@journalshort{J. Sens. Actuator Netw.} \gdef\@journalfull{Journal of Sensor and Actuator Networks} \gdef\@doiabbr{jsan} \gdef\@ISSN{2224-2708} }
132 | \DeclareOption{land}{ \gdef\@journal{land} \gdef\@journalshort{Land} \gdef\@journalfull{Land} \gdef\@doiabbr{land} \gdef\@ISSN{2073-445X} }
133 | \DeclareOption{languages}{ \gdef\@journal{languages} \gdef\@journalshort{Languages} \gdef\@journalfull{Languages} \gdef\@doiabbr{languages} \gdef\@ISSN{2226-471X} }
134 | \DeclareOption{laws}{ \gdef\@journal{laws} \gdef\@journalshort{Laws} \gdef\@journalfull{Laws} \gdef\@doiabbr{laws} \gdef\@ISSN{2075-471X} }
135 | \DeclareOption{life}{ \gdef\@journal{life} \gdef\@journalshort{Life} \gdef\@journalfull{Life} \gdef\@doiabbr{life} \gdef\@ISSN{2075-1729} }
136 | \DeclareOption{literature}{ \gdef\@journal{literature} \gdef\@journalshort{Literature} \gdef\@journalfull{Literature} \gdef\@doiabbr{} \gdef\@ISSN{2410-9789} }
137 | \DeclareOption{logistics}{ \gdef\@journal{logistics} \gdef\@journalshort{Logistics} \gdef\@journalfull{Logistics} \gdef\@doiabbr{logistics} \gdef\@ISSN{2305-6290} }
138 | \DeclareOption{lubricants}{ \gdef\@journal{lubricants} \gdef\@journalshort{Lubricants} \gdef\@journalfull{Lubricants} \gdef\@doiabbr{lubricants} \gdef\@ISSN{2075-4442} }
139 | \DeclareOption{machines}{ \gdef\@journal{machines} \gdef\@journalshort{Machines} \gdef\@journalfull{Machines} \gdef\@doiabbr{machines} \gdef\@ISSN{2075-1702} }
140 | \DeclareOption{magnetochemistry}{ \gdef\@journal{magnetochemistry} \gdef\@journalshort{Magnetochemistry} \gdef\@journalfull{Magnetochemistry} \gdef\@doiabbr{magnetochemistry} \gdef\@ISSN{2312-7481} }
141 | \DeclareOption{make}{ \gdef\@journal{make} \gdef\@journalshort{Mach. Learn. Knowl. Extr.} \gdef\@journalfull{Machine Learning and Knowledge Extraction} \gdef\@doiabbr{make} \gdef\@ISSN{2504-4990} }
142 | \DeclareOption{marinedrugs}{ \gdef\@journal{marinedrugs} \gdef\@journalshort{Mar. Drugs} \gdef\@journalfull{Marine Drugs} \gdef\@doiabbr{md} \gdef\@ISSN{1660-3397} }
143 | \DeclareOption{materials}{ \gdef\@journal{materials} \gdef\@journalshort{Materials} \gdef\@journalfull{Materials} \gdef\@doiabbr{ma} \gdef\@ISSN{1996-1944} }
144 | \DeclareOption{mathematics}{ \gdef\@journal{mathematics} \gdef\@journalshort{Mathematics} \gdef\@journalfull{Mathematics} \gdef\@doiabbr{math} \gdef\@ISSN{2227-7390} }
145 | \DeclareOption{mca}{ \gdef\@journal{mca} \gdef\@journalshort{Math. Comput. Appl.} \gdef\@journalfull{Mathematical and Computational Applications} \gdef\@doiabbr{mca} \gdef\@ISSN{2297-8747} }
146 | \DeclareOption{medicina}{ \gdef\@journal{medicina} \gdef\@journalshort{Medicina} \gdef\@journalfull{Medicina} \gdef\@doiabbr{medicina} \gdef\@ISSN{1010-660X} }
147 | \DeclareOption{medicines}{ \gdef\@journal{medicines} \gdef\@journalshort{Medicines} \gdef\@journalfull{Medicines} \gdef\@doiabbr{medicines} \gdef\@ISSN{2305-6320} }
148 | \DeclareOption{medsci}{ \gdef\@journal{medsci} \gdef\@journalshort{Med. Sci.} \gdef\@journalfull{Medical Sciences} \gdef\@doiabbr{medsci} \gdef\@ISSN{2076-3271} }
149 | \DeclareOption{membranes}{ \gdef\@journal{membranes} \gdef\@journalshort{Membranes} \gdef\@journalfull{Membranes} \gdef\@doiabbr{membranes} \gdef\@ISSN{2077-0375} }
150 | \DeclareOption{metabolites}{ \gdef\@journal{metabolites} \gdef\@journalshort{Metabolites} \gdef\@journalfull{Metabolites} \gdef\@doiabbr{metabo} \gdef\@ISSN{2218-1989} }
151 | \DeclareOption{metals}{ \gdef\@journal{metals} \gdef\@journalshort{Metals} \gdef\@journalfull{Metals} \gdef\@doiabbr{met} \gdef\@ISSN{2075-4701} }
152 | \DeclareOption{microarrays}{ \gdef\@journal{microarrays} \gdef\@journalshort{Microarrays} \gdef\@journalfull{Microarrays} \gdef\@doiabbr{} \gdef\@ISSN{2076-3905} }
153 | \DeclareOption{micromachines}{ \gdef\@journal{micromachines} \gdef\@journalshort{Micromachines} \gdef\@journalfull{Micromachines} \gdef\@doiabbr{mi} \gdef\@ISSN{2072-666X} }
154 | \DeclareOption{microorganisms}{ \gdef\@journal{microorganisms} \gdef\@journalshort{Microorganisms} \gdef\@journalfull{Microorganisms} \gdef\@doiabbr{microorganisms} \gdef\@ISSN{2076-2607} }
155 | \DeclareOption{minerals}{ \gdef\@journal{minerals} \gdef\@journalshort{Minerals} \gdef\@journalfull{Minerals} \gdef\@doiabbr{min} \gdef\@ISSN{2075-163X} }
156 | \DeclareOption{modelling}{ \gdef\@journal{modelling} \gdef\@journalshort{Modelling} \gdef\@journalfull{Modelling} \gdef\@doiabbr{} \gdef\@ISSN{0012-0012} }
157 | \DeclareOption{molbank}{ \gdef\@journal{molbank} \gdef\@journalshort{Molbank} \gdef\@journalfull{Molbank} \gdef\@doiabbr{M} \gdef\@ISSN{1422-8599} }
158 | \DeclareOption{molecules}{ \gdef\@journal{molecules} \gdef\@journalshort{Molecules} \gdef\@journalfull{Molecules} \gdef\@doiabbr{molecules} \gdef\@ISSN{1420-3049} }
159 | \DeclareOption{mps}{ \gdef\@journal{mps} \gdef\@journalshort{Methods Protoc.} \gdef\@journalfull{Methods and Protocols} \gdef\@doiabbr{mps} \gdef\@ISSN{2409-9279} }
160 | \DeclareOption{mti}{ \gdef\@journal{mti} \gdef\@journalshort{Multimodal Technol. Interact.} \gdef\@journalfull{Multimodal Technologies and Interaction} \gdef\@doiabbr{mti} \gdef\@ISSN{2414-4088} }
161 | \DeclareOption{nanomaterials}{ \gdef\@journal{nanomaterials} \gdef\@journalshort{Nanomaterials} \gdef\@journalfull{Nanomaterials} \gdef\@doiabbr{nano} \gdef\@ISSN{2079-4991} }
162 | \DeclareOption{ncrna}{ \gdef\@journal{ncrna} \gdef\@journalshort{Non-coding RNA} \gdef\@journalfull{Non-coding RNA} \gdef\@doiabbr{ncrna} \gdef\@ISSN{2311-553X} }
163 | \DeclareOption{ijns}{ \gdef\@journal{ijns} \gdef\@journalshort{Int. J. Neonatal Screen.} \gdef\@journalfull{International Journal of Neonatal Screening} \gdef\@doiabbr{ijns} \gdef\@ISSN{2409-515X} }
164 | \DeclareOption{neuroglia}{ \gdef\@journal{neuroglia} \gdef\@journalshort{Neuroglia} \gdef\@journalfull{Neuroglia} \gdef\@doiabbr{neuroglia} \gdef\@ISSN{2571-6980} }
165 | \DeclareOption{nitrogen}{ \gdef\@journal{nitrogen} \gdef\@journalshort{Nitrogen} \gdef\@journalfull{Nitrogen} \gdef\@doiabbr{nitrogen} \gdef\@ISSN{2504-3129} }
166 | \DeclareOption{notspecified}{ \gdef\@journal{notspecified} \gdef\@journalshort{Journal Not Specified} \gdef\@journalfull{Journal Not Specified} \gdef\@doiabbr{} \gdef\@ISSN{} }
167 | \DeclareOption{nutrients}{ \gdef\@journal{nutrients} \gdef\@journalshort{Nutrients} \gdef\@journalfull{Nutrients} \gdef\@doiabbr{nu} \gdef\@ISSN{2072-6643} }
168 | \DeclareOption{ohbm}{ \gdef\@journal{ohbm} \gdef\@journalshort{J. Otorhinolaryngol. Hear. Balance Med.} \gdef\@journalfull{Journal of Otorhinolaryngology, Hearing and Balance Medicine} \gdef\@doiabbr{ohbm} \gdef\@ISSN{2504-463X} }
169 | \DeclareOption{particles}{ \gdef\@journal{particles} \gdef\@journalshort{Particles} \gdef\@journalfull{Particles} \gdef\@doiabbr{particles} \gdef\@ISSN{2571-712X} }
170 | \DeclareOption{pathogens}{ \gdef\@journal{pathogens} \gdef\@journalshort{Pathogens} \gdef\@journalfull{Pathogens} \gdef\@doiabbr{pathogens} \gdef\@ISSN{2076-0817} }
171 | \DeclareOption{pharmaceuticals}{ \gdef\@journal{pharmaceuticals} \gdef\@journalshort{Pharmaceuticals} \gdef\@journalfull{Pharmaceuticals} \gdef\@doiabbr{ph} \gdef\@ISSN{1424-8247} }
172 | \DeclareOption{pharmaceutics}{ \gdef\@journal{pharmaceutics} \gdef\@journalshort{Pharmaceutics} \gdef\@journalfull{Pharmaceutics} \gdef\@doiabbr{pharmaceutics} \gdef\@ISSN{1999-4923} }
173 | \DeclareOption{pharmacy}{ \gdef\@journal{pharmacy} \gdef\@journalshort{Pharmacy} \gdef\@journalfull{Pharmacy} \gdef\@doiabbr{pharmacy} \gdef\@ISSN{2226-4787} }
174 | \DeclareOption{philosophies}{ \gdef\@journal{philosophies} \gdef\@journalshort{Philosophies} \gdef\@journalfull{Philosophies} \gdef\@doiabbr{philosophies} \gdef\@ISSN{2409-9287} }
175 | \DeclareOption{photonics}{ \gdef\@journal{photonics} \gdef\@journalshort{Photonics} \gdef\@journalfull{Photonics} \gdef\@doiabbr{photonics} \gdef\@ISSN{2304-6732} }
176 | \DeclareOption{physics}{ \gdef\@journal{physics} \gdef\@journalshort{Physics} \gdef\@journalfull{Physics} \gdef\@doiabbr{physics} \gdef\@ISSN{2624-8174} }
177 | \DeclareOption{plants}{ \gdef\@journal{plants} \gdef\@journalshort{Plants} \gdef\@journalfull{Plants} \gdef\@doiabbr{plants} \gdef\@ISSN{2223-7747} }
178 | \DeclareOption{plasma}{ \gdef\@journal{plasma} \gdef\@journalshort{Plasma} \gdef\@journalfull{Plasma} \gdef\@doiabbr{plasma} \gdef\@ISSN{2571-6182} }
179 | \DeclareOption{polymers}{ \gdef\@journal{polymers} \gdef\@journalshort{Polymers} \gdef\@journalfull{Polymers} \gdef\@doiabbr{polym} \gdef\@ISSN{2073-4360} }
180 | \DeclareOption{polysaccharides}{ \gdef\@journal{polysaccharides} \gdef\@journalshort{Polysaccharides} \gdef\@journalfull{Polysaccharides} \gdef\@doiabbr{} \gdef\@ISSN{} }
181 | \DeclareOption{preprints}{ \gdef\@journal{preprints} \gdef\@journalshort{Preprints} \gdef\@journalfull{Preprints} \gdef\@doiabbr{} \gdef\@ISSN{} }
182 | \DeclareOption{proceedings}{ \gdef\@journal{proceedings} \gdef\@journalshort{Proceedings} \gdef\@journalfull{Proceedings} \gdef\@doiabbr{proceedings} \gdef\@ISSN{2504-3900} }
183 | \DeclareOption{processes}{ \gdef\@journal{processes} \gdef\@journalshort{Processes} \gdef\@journalfull{Processes} \gdef\@doiabbr{pr} \gdef\@ISSN{2227-9717} }
184 | \DeclareOption{proteomes}{ \gdef\@journal{proteomes} \gdef\@journalshort{Proteomes} \gdef\@journalfull{Proteomes} \gdef\@doiabbr{proteomes} \gdef\@ISSN{2227-7382} }
185 | \DeclareOption{psych}{ \gdef\@journal{psych} \gdef\@journalshort{Psych} \gdef\@journalfull{Psych} \gdef\@doiabbr{psych} \gdef\@ISSN{2624-8611} }
186 | \DeclareOption{publications}{ \gdef\@journal{publications} \gdef\@journalshort{Publications} \gdef\@journalfull{Publications} \gdef\@doiabbr{publications} \gdef\@ISSN{2304-6775} }
187 | \DeclareOption{quantumrep}{ \gdef\@journal{quantumrep} \gdef\@journalshort{Quantum Rep.} \gdef\@journalfull{Quantum Reports} \gdef\@doiabbr{quantum} \gdef\@ISSN{2624-960X} }
188 | \DeclareOption{quaternary}{ \gdef\@journal{quaternary} \gdef\@journalshort{Quaternary} \gdef\@journalfull{Quaternary} \gdef\@doiabbr{quat} \gdef\@ISSN{2571-550X} }
189 | \DeclareOption{qubs}{ \gdef\@journal{qubs} \gdef\@journalshort{Quantum Beam Sci.} \gdef\@journalfull{Quantum Beam Science} \gdef\@doiabbr{qubs} \gdef\@ISSN{2412-382X} }
190 | \DeclareOption{reactions}{ \gdef\@journal{reactions} \gdef\@journalshort{Reactions} \gdef\@journalfull{Reactions} \gdef\@doiabbr{reactions} \gdef\@ISSN{2624-781X} }
191 | \DeclareOption{recycling}{ \gdef\@journal{recycling} \gdef\@journalshort{Recycling} \gdef\@journalfull{Recycling} \gdef\@doiabbr{recycling} \gdef\@ISSN{2313-4321} }
192 | \DeclareOption{religions}{ \gdef\@journal{religions} \gdef\@journalshort{Religions} \gdef\@journalfull{Religions} \gdef\@doiabbr{rel} \gdef\@ISSN{2077-1444} }
193 | \DeclareOption{remotesensing}{ \gdef\@journal{remotesensing} \gdef\@journalshort{Remote Sens.} \gdef\@journalfull{Remote Sensing} \gdef\@doiabbr{rs} \gdef\@ISSN{2072-4292} }
194 | \DeclareOption{reports}{ \gdef\@journal{reports} \gdef\@journalshort{Reports} \gdef\@journalfull{Reports} \gdef\@doiabbr{reports} \gdef\@ISSN{2571-841X} }
195 | \DeclareOption{resources}{ \gdef\@journal{resources} \gdef\@journalshort{Resources} \gdef\@journalfull{Resources} \gdef\@doiabbr{resources} \gdef\@ISSN{2079-9276} }
196 | \DeclareOption{risks}{ \gdef\@journal{risks} \gdef\@journalshort{Risks} \gdef\@journalfull{Risks} \gdef\@doiabbr{risks} \gdef\@ISSN{2227-9091} }
197 | \DeclareOption{robotics}{ \gdef\@journal{robotics} \gdef\@journalshort{Robotics} \gdef\@journalfull{Robotics} \gdef\@doiabbr{robotics} \gdef\@ISSN{2218-6581} }
198 | \DeclareOption{safety}{ \gdef\@journal{safety} \gdef\@journalshort{Safety} \gdef\@journalfull{Safety} \gdef\@doiabbr{safety} \gdef\@ISSN{2313-576X} }
199 | \DeclareOption{sci}{ \gdef\@journal{sci} \gdef\@journalshort{Sci} \gdef\@journalfull{Sci} \gdef\@doiabbr{sci} \gdef\@ISSN{2413-4155} }
200 | \DeclareOption{scipharm}{ \gdef\@journal{scipharm} \gdef\@journalshort{Sci. Pharm.} \gdef\@journalfull{Scientia Pharmaceutica} \gdef\@doiabbr{scipharm} \gdef\@ISSN{2218-0532} }
201 | \DeclareOption{sensors}{ \gdef\@journal{sensors} \gdef\@journalshort{Sensors} \gdef\@journalfull{Sensors} \gdef\@doiabbr{s} \gdef\@ISSN{1424-8220} }
202 | \DeclareOption{separations}{ \gdef\@journal{separations} \gdef\@journalshort{Separations} \gdef\@journalfull{Separations} \gdef\@doiabbr{separations} \gdef\@ISSN{2297-8739} }
203 | \DeclareOption{sexes}{ \gdef\@journal{sexes} \gdef\@journalshort{Sexes} \gdef\@journalfull{Sexes} \gdef\@doiabbr{} \gdef\@ISSN{2411-5118} }
204 | \DeclareOption{signals}{ \gdef\@journal{signals} \gdef\@journalshort{Signals} \gdef\@journalfull{Signals} \gdef\@doiabbr{signals} \gdef\@ISSN{2624-6120} }
205 | \DeclareOption{sinusitis}{ \gdef\@journal{sinusitis} \gdef\@journalshort{Sinusitis} \gdef\@journalfull{Sinusitis} \gdef\@doiabbr{sinusitis} \gdef\@ISSN{2309-107X} }
206 | \DeclareOption{smartcities}{ \gdef\@journal{smartcities} \gdef\@journalshort{Smart Cities} \gdef\@journalfull{Smart Cities} \gdef\@doiabbr{smartcities} \gdef\@ISSN{2624-6511} }
207 | \DeclareOption{sna}{ \gdef\@journal{sna} \gdef\@journalshort{Sinusitis Asthma} \gdef\@journalfull{Sinusitis and Asthma} \gdef\@doiabbr{sna} \gdef\@ISSN{2624-7003} }
208 | \DeclareOption{societies}{ \gdef\@journal{societies} \gdef\@journalshort{Societies} \gdef\@journalfull{Societies} \gdef\@doiabbr{soc} \gdef\@ISSN{2075-4698} }
209 | \DeclareOption{socsci}{ \gdef\@journal{socsci} \gdef\@journalshort{Soc. Sci.} \gdef\@journalfull{Social Sciences} \gdef\@doiabbr{socsci} \gdef\@ISSN{2076-0760} }
210 | \DeclareOption{soilsystems}{ \gdef\@journal{soilsystems} \gdef\@journalshort{Soil Syst.} \gdef\@journalfull{Soil Systems} \gdef\@doiabbr{soilsystems} \gdef\@ISSN{2571-8789} }
211 | \DeclareOption{sports}{ \gdef\@journal{sports} \gdef\@journalshort{Sports} \gdef\@journalfull{Sports} \gdef\@doiabbr{sports} \gdef\@ISSN{2075-4663} }
212 | \DeclareOption{standards}{ \gdef\@journal{standards} \gdef\@journalshort{Standards} \gdef\@journalfull{Standards} \gdef\@doiabbr{} \gdef\@ISSN{2305-6703} }
213 | \DeclareOption{stats}{ \gdef\@journal{stats} \gdef\@journalshort{Stats} \gdef\@journalfull{Stats} \gdef\@doiabbr{stats} \gdef\@ISSN{2571-905X} }
214 | \DeclareOption{surfaces}{ \gdef\@journal{surfaces} \gdef\@journalshort{Surfaces} \gdef\@journalfull{Surfaces} \gdef\@doiabbr{surfaces} \gdef\@ISSN{2571-9637} }
215 | \DeclareOption{surgeries}{ \gdef\@journal{surgeries} \gdef\@journalshort{Surgeries} \gdef\@journalfull{Surgeries} \gdef\@doiabbr{} \gdef\@ISSN{2017-2017} }
216 | \DeclareOption{sustainability}{ \gdef\@journal{sustainability} \gdef\@journalshort{Sustainability} \gdef\@journalfull{Sustainability} \gdef\@doiabbr{su} \gdef\@ISSN{2071-1050} }
217 | \DeclareOption{symmetry}{ \gdef\@journal{symmetry} \gdef\@journalshort{Symmetry} \gdef\@journalfull{Symmetry} \gdef\@doiabbr{sym} \gdef\@ISSN{2073-8994} }
218 | \DeclareOption{systems}{ \gdef\@journal{systems} \gdef\@journalshort{Systems} \gdef\@journalfull{Systems} \gdef\@doiabbr{systems} \gdef\@ISSN{2079-8954} }
219 | \DeclareOption{technologies}{ \gdef\@journal{technologies} \gdef\@journalshort{Technologies} \gdef\@journalfull{Technologies} \gdef\@doiabbr{technologies} \gdef\@ISSN{2227-7080} }
220 | \DeclareOption{test}{ \gdef\@journal{test} \gdef\@journalshort{Test} \gdef\@journalfull{Test} \gdef\@doiabbr{} \gdef\@ISSN{} }
221 | \DeclareOption{toxics}{ \gdef\@journal{toxics} \gdef\@journalshort{Toxics} \gdef\@journalfull{Toxics} \gdef\@doiabbr{toxics} \gdef\@ISSN{2305-6304} }
222 | \DeclareOption{toxins}{ \gdef\@journal{toxins} \gdef\@journalshort{Toxins} \gdef\@journalfull{Toxins} \gdef\@doiabbr{toxins} \gdef\@ISSN{2072-6651} }
223 | \DeclareOption{tropicalmed}{ \gdef\@journal{tropicalmed} \gdef\@journalshort{Trop. Med. Infect. Dis.} \gdef\@journalfull{Tropical Medicine and Infectious Disease} \gdef\@doiabbr{tropicalmed} \gdef\@ISSN{2414-6366} }
224 | \DeclareOption{universe}{ \gdef\@journal{universe} \gdef\@journalshort{Universe} \gdef\@journalfull{Universe} \gdef\@doiabbr{universe} \gdef\@ISSN{2218-1997} }
225 | \DeclareOption{urbansci}{ \gdef\@journal{urbansci} \gdef\@journalshort{Urban Sci.} \gdef\@journalfull{Urban Science} \gdef\@doiabbr{urbansci} \gdef\@ISSN{2413-8851} }
226 | \DeclareOption{vaccines}{ \gdef\@journal{vaccines} \gdef\@journalshort{Vaccines} \gdef\@journalfull{Vaccines} \gdef\@doiabbr{vaccines} \gdef\@ISSN{2076-393X} }
227 | \DeclareOption{vehicles}{ \gdef\@journal{vehicles} \gdef\@journalshort{Vehicles} \gdef\@journalfull{Vehicles} \gdef\@doiabbr{vehicles} \gdef\@ISSN{2624-8921} }
228 | \DeclareOption{vetsci}{ \gdef\@journal{vetsci} \gdef\@journalshort{Vet. Sci.} \gdef\@journalfull{Veterinary Sciences} \gdef\@doiabbr{vetsci} \gdef\@ISSN{2306-7381} }
229 | \DeclareOption{vibration}{ \gdef\@journal{vibration} \gdef\@journalshort{Vibration} \gdef\@journalfull{Vibration} \gdef\@doiabbr{vibration} \gdef\@ISSN{2571-631X} }
230 | \DeclareOption{viruses}{ \gdef\@journal{viruses} \gdef\@journalshort{Viruses} \gdef\@journalfull{Viruses} \gdef\@doiabbr{v} \gdef\@ISSN{1999-4915} }
231 | \DeclareOption{vision}{ \gdef\@journal{vision} \gdef\@journalshort{Vision} \gdef\@journalfull{Vision} \gdef\@doiabbr{vision} \gdef\@ISSN{2411-5150} }
232 | \DeclareOption{water}{ \gdef\@journal{water} \gdef\@journalshort{Water} \gdef\@journalfull{Water} \gdef\@doiabbr{w} \gdef\@ISSN{2073-4441} }
233 | \DeclareOption{wem}{ \gdef\@journal{wem} \gdef\@journalshort{Wildl. Ecol. Manag.} \gdef\@journalfull{Wildlife Ecology and Management} \gdef\@doiabbr{} \gdef\@ISSN{1234-4321} }
234 | \DeclareOption{wevj}{ \gdef\@journal{wevj} \gdef\@journalshort{World Electric Vehicle Journal} \gdef\@journalfull{World Electric Vehicle Journal} \gdef\@doiabbr{wevj} \gdef\@ISSN{2032-6653} }
--------------------------------------------------------------------------------
/logo-ccby.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aaronpeikert/repro-tutorial/61e6ae22a27ccf28fe2c1c3fa97c19e1cfc84b96/logo-ccby.pdf
--------------------------------------------------------------------------------
/logo-mdpi.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aaronpeikert/repro-tutorial/61e6ae22a27ccf28fe2c1c3fa97c19e1cfc84b96/logo-mdpi.pdf
--------------------------------------------------------------------------------
/logo-orcid.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aaronpeikert/repro-tutorial/61e6ae22a27ccf28fe2c1c3fa97c19e1cfc84b96/logo-orcid.pdf
--------------------------------------------------------------------------------
/logo-updates.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aaronpeikert/repro-tutorial/61e6ae22a27ccf28fe2c1c3fa97c19e1cfc84b96/logo-updates.pdf
--------------------------------------------------------------------------------
/mdpi.bst:
--------------------------------------------------------------------------------
1 | %% Bibliography style for MDPI journals
2 |
3 | ENTRY
4 | { address
5 | archiveprefix %
6 | author
7 | booktitle
8 | chapter
9 | edition
10 | editor
11 | eprint %
12 | doi
13 | howpublished
14 | institution
15 | journal
16 | key
17 | month
18 | note
19 | number
20 | organization
21 | pages
22 | primaryclass %
23 | publisher
24 | school
25 | series
26 | title
27 | type
28 | volume
29 | year
30 | url
31 | urldate
32 | nationality
33 | }
34 | {}
35 | { label extra.label sort.label short.list }
36 |
37 | INTEGERS { output.state before.all mid.sentence after.sentence after.block after.item }
38 |
39 | FUNCTION {init.state.consts}
40 | { #0 'before.all :=
41 | #1 'mid.sentence :=
42 | #2 'after.sentence :=
43 | #3 'after.block :=
44 | #4 'after.item :=
45 | }
46 |
47 | STRINGS { s t }
48 |
49 | FUNCTION {output.nonnull}
50 | { 's :=
51 | output.state mid.sentence =
52 | { ", " * write$ }
53 | { output.state after.block =
54 | { add.period$ write$
55 | newline$
56 | "\newblock " write$
57 | }
58 | { output.state before.all =
59 | 'write$
60 | { output.state after.item =
61 | {"; " * write$}
62 | {add.period$ " " * write$}
63 | if$}
64 | if$
65 | }
66 | if$
67 | mid.sentence 'output.state :=
68 | }
69 | if$
70 | s
71 | }
72 |
73 | FUNCTION {output}
74 | { duplicate$ empty$
75 | 'pop$
76 | 'output.nonnull
77 | if$
78 | }
79 |
80 | FUNCTION {output.check}
81 | { 't :=
82 | duplicate$ empty$
83 | { pop$ "empty " t * " in " * cite$ * warning$ }
84 | 'output.nonnull
85 | if$
86 | }
87 |
88 | FUNCTION {output.checkwoa}
89 | { 't :=
90 | duplicate$ empty$
91 | { pop$ }
92 | 'output.nonnull
93 | if$
94 | }
95 |
96 | FUNCTION {fin.entry}
97 | { add.period$
98 | write$
99 | newline$
100 | }
101 |
102 | FUNCTION {new.block}
103 | { output.state before.all =
104 | 'skip$
105 | { after.block 'output.state := }
106 | if$
107 | }
108 |
109 | FUNCTION {new.sentence}
110 | { output.state after.block =
111 | 'skip$
112 | { output.state before.all =
113 | 'skip$
114 | { after.sentence 'output.state := }
115 | if$
116 | }
117 | if$
118 | }
119 |
120 | FUNCTION {not}
121 | { { #0 }
122 | { #1 }
123 | if$
124 | }
125 |
126 | FUNCTION {and}
127 | { 'skip$
128 | { pop$ #0 }
129 | if$
130 | }
131 |
132 | FUNCTION {or}
133 | { { pop$ #1 }
134 | 'skip$
135 | if$
136 | }
137 |
138 | FUNCTION {new.block.checka}
139 | { empty$
140 | 'skip$
141 | 'new.block
142 | if$
143 | }
144 |
145 | FUNCTION {new.block.checkb}
146 | { empty$
147 | swap$ empty$
148 | and
149 | 'skip$
150 | 'new.block
151 | if$
152 | }
153 |
154 | FUNCTION {new.sentence.checka}
155 | { empty$
156 | 'skip$
157 | 'new.sentence
158 | if$
159 | }
160 |
161 | FUNCTION {new.sentence.checkb}
162 | { empty$
163 | swap$ empty$
164 | and
165 | 'skip$
166 | 'new.sentence
167 | if$
168 | }
169 |
170 | FUNCTION {field.or.null}
171 | { duplicate$ empty$
172 | { pop$ "" }
173 | 'skip$
174 | if$
175 | }
176 |
177 | FUNCTION {emphasize}
178 | { duplicate$ empty$
179 | { pop$ "" }
180 | { "{\em " swap$ * "}" * }
181 | if$
182 | }
183 |
184 | FUNCTION {embolden}
185 | { duplicate$ empty$
186 | { pop$ "" }
187 | { "{\bf " swap$ * "}" * }
188 | if$
189 | }
190 |
191 | FUNCTION {website}
192 | { duplicate$ empty$
193 | { pop$ "" }
194 | { "\url{" swap$ * "}" * }
195 | if$
196 | }
197 |
198 | INTEGERS { nameptr namesleft numnames }
199 |
200 | FUNCTION {format.names}
201 | { 's :=
202 | #1 'nameptr :=
203 | s num.names$ 'numnames :=
204 | numnames 'namesleft :=
205 | { namesleft #0 > }
206 | { s nameptr "{vv~}{ll}{, jj}{, f{.}}." format.name$ 't :=
207 | nameptr #1 >
208 | { namesleft #1 >
209 | { "; " * t * }
210 | { numnames #2 >
211 | { "" * }
212 | 'skip$
213 | if$
214 | t "others" =
215 | { " et~al." * }
216 | { "; " * t * }
217 | if$
218 | }
219 | if$
220 | }
221 | 't
222 | if$
223 | nameptr #1 + 'nameptr :=
224 | namesleft #1 - 'namesleft :=
225 | }
226 | while$
227 | }
228 |
229 | FUNCTION {format.key}
230 | { empty$
231 | { key field.or.null }
232 | { "" }
233 | if$
234 | }
235 |
236 |
237 | FUNCTION {format.authors}
238 | { author empty$
239 | { "" }
240 | { author format.names }
241 | if$
242 | }
243 |
244 | FUNCTION {format.editors}
245 | { editor empty$
246 | { "" }
247 | { editor format.names
248 | editor num.names$ #1 >
249 | { ", Eds." * }
250 | { ", Ed." * }
251 | if$
252 | }
253 | if$
254 | }
255 |
256 |
257 |
258 |
259 | FUNCTION {format.title}
260 | { title empty$
261 | { "" }
262 | { title}
263 | if$
264 | }
265 |
266 | FUNCTION {format.number.patent}
267 | { number empty$
268 | { "" }
269 | { nationality empty$
270 | { number}
271 | { nationality " " * number *}
272 | if$
273 | }
274 | if$
275 | }
276 |
277 | FUNCTION {format.full.names}
278 | {'s :=
279 | #1 'nameptr :=
280 | s num.names$ 'numnames :=
281 | numnames 'namesleft :=
282 | { namesleft #0 > }
283 | { s nameptr
284 | "{vv~}{ll}" format.name$ 't :=
285 | nameptr #1 >
286 | {
287 | namesleft #1 >
288 | { ", " * t * }
289 | {
290 | numnames #2 >
291 | { "," * }
292 | 'skip$
293 | if$
294 | t "others" =
295 | { " et~al." * }
296 | { " and " * t * }
297 | if$
298 | }
299 | if$
300 | }
301 | 't
302 | if$
303 | nameptr #1 + 'nameptr :=
304 | namesleft #1 - 'namesleft :=
305 | }
306 | while$
307 | }
308 |
309 | FUNCTION {author.editor.full}
310 | { author empty$
311 | { editor empty$
312 | { "" }
313 | { editor format.full.names }
314 | if$
315 | }
316 | { author format.full.names }
317 | if$
318 | }
319 |
320 |
321 |
322 | FUNCTION {author.full}
323 | { author empty$
324 | { "" }
325 | { author format.full.names }
326 | if$
327 | }
328 |
329 | FUNCTION {editor.full}
330 | { editor empty$
331 | { "" }
332 | { editor format.full.names }
333 | if$
334 | }
335 |
336 | FUNCTION {make.full.names}
337 | { type$ "book" =
338 | type$ "inbook" =
339 | or
340 | 'author.editor.full
341 | { type$ "proceedings" =
342 | 'editor.full
343 | 'author.full
344 | if$
345 | }
346 | if$
347 | }
348 |
349 | FUNCTION {output.bibitem}
350 | { newline$
351 | "\bibitem[" write$
352 | label write$
353 | ")" make.full.names duplicate$ short.list =
354 | { pop$ }
355 | { * }
356 | if$
357 | "]{" * write$
358 | cite$ write$
359 | "}" write$
360 | newline$
361 | ""
362 | before.all 'output.state :=
363 | }
364 |
365 | FUNCTION {n.dashify}
366 | { 't :=
367 | ""
368 | { t empty$ not }
369 | { t #1 #1 substring$ "-" =
370 | { t #1 #2 substring$ "--" = not
371 | { "--" *
372 | t #2 global.max$ substring$ 't :=
373 | }
374 | { { t #1 #1 substring$ "-" = }
375 | { "-" *
376 | t #2 global.max$ substring$ 't :=
377 | }
378 | while$
379 | }
380 | if$
381 | }
382 | { t #1 #1 substring$ *
383 | t #2 global.max$ substring$ 't :=
384 | }
385 | if$
386 | }
387 | while$
388 | }
389 |
390 |
391 | FUNCTION {format.date}
392 | { year empty$
393 | { month empty$
394 | { "" }
395 | { "there's a month but no year in " cite$ * warning$
396 | month
397 | }
398 | if$
399 | }
400 | { " " year embolden * }
401 | if$
402 | }
403 |
404 | FUNCTION {format.bdate}
405 | { year empty$
406 | { month empty$
407 | { "" }
408 | { "there's a month but no year in " cite$ * warning$
409 | month
410 | }
411 | if$
412 | }
413 | { " " year * }
414 | if$
415 | }
416 |
417 | FUNCTION {format.pdate}
418 | { year empty$
419 | { month empty$
420 | { "" }
421 | { "there's a month but no year in " cite$ * warning$
422 | month
423 | }
424 | if$
425 | }
426 | { month empty$
427 | { " " year * }
428 | { " " month * ", " * year * }
429 | if$}
430 | if$
431 | }
432 |
433 | FUNCTION {format.btitle}
434 | { title emphasize
435 | }
436 |
437 | FUNCTION {tie.or.space.connect}
438 | { duplicate$ text.length$ #3 <
439 | { "~" }
440 | { " " }
441 | if$
442 | swap$ * *
443 | }
444 |
445 | FUNCTION {either.or.check}
446 | { empty$
447 | 'pop$
448 | { "can't use both " swap$ * " fields in " * cite$ * warning$ }
449 | if$
450 | }
451 |
452 | FUNCTION {format.bvolume}
453 | { volume empty$
454 | { "" }
455 | { "Vol." volume tie.or.space.connect
456 | series empty$
457 | 'skip$
458 | { ", " * series emphasize * }
459 | if$
460 | "volume and number" number either.or.check
461 | }
462 | if$
463 | }
464 |
465 | FUNCTION {format.number.series}
466 | { volume empty$
467 | { number empty$
468 | { series field.or.null }
469 | { output.state mid.sentence =
470 | { "number" }
471 | { "Number" }
472 | if$
473 | number tie.or.space.connect
474 | series empty$
475 | { "there's a number but no series in " cite$ * warning$ }
476 | { " in " * series * }
477 | if$
478 | }
479 | if$
480 | }
481 | { "" }
482 | if$
483 | }
484 |
485 | FUNCTION {format.edition}
486 | { edition empty$
487 | { "" }
488 | { output.state mid.sentence =
489 | { edition "l" change.case$ " ed." * }
490 | { edition "t" change.case$ " ed." * }
491 | if$
492 | }
493 | if$
494 | }
495 |
496 | INTEGERS { multiresult }
497 |
498 | FUNCTION {multi.page.check}
499 | { 't :=
500 | #0 'multiresult :=
501 | { multiresult not
502 | t empty$ not
503 | and
504 | }
505 | { t #1 #1 substring$
506 | duplicate$ "-" =
507 | swap$ duplicate$ "," =
508 | swap$ "+" =
509 | or or
510 | { #1 'multiresult := }
511 | { t #2 global.max$ substring$ 't := }
512 | if$
513 | }
514 | while$
515 | multiresult
516 | }
517 |
518 | FUNCTION {format.pages}
519 | { pages empty$
520 | { "" }
521 | { pages multi.page.check
522 | { "pp." pages n.dashify tie.or.space.connect }
523 | { "p." pages tie.or.space.connect }
524 | if$
525 | }
526 | if$
527 | }
528 |
529 | FUNCTION {format.vol.num.pages}
530 | { volume emphasize field.or.null
531 | number empty$
532 | 'skip$
533 | {
534 | volume empty$
535 | { "there's a number but no volume in " cite$ * warning$ }
536 | 'skip$
537 | if$
538 | }
539 | if$
540 | pages empty$
541 | 'skip$
542 | { duplicate$ empty$
543 | { pop$ format.pages }
544 | { ",~" * pages n.dashify * }
545 | if$
546 | }
547 | if$
548 | }
549 |
550 | FUNCTION {format.chapter.pages}
551 | { chapter empty$
552 | 'format.pages
553 | { type empty$
554 | { "chapter" }
555 | { type "l" change.case$ }
556 | if$
557 | chapter tie.or.space.connect
558 | pages empty$
559 | 'skip$
560 | { ", " * format.pages * }
561 | if$
562 | }
563 | if$
564 | }
565 |
566 | FUNCTION {format.in.ed.booktitle}
567 | { booktitle empty$
568 | { "" }
569 | { editor empty$
570 | { edition empty$
571 | {"In " booktitle emphasize *}
572 | {"In " booktitle emphasize * ", " * edition * " ed." *}
573 | if$
574 | }
575 | { edition empty$
576 | {"In " booktitle emphasize * "; " * format.editors * }
577 | {"In " booktitle emphasize * ", " * edition * " ed." * "; " * format.editors * }
578 | if$
579 | }
580 | if$
581 | }
582 | if$
583 | }
584 |
585 | FUNCTION {format.in.ed.booktitle.proc}
586 | { booktitle empty$
587 | { "" }
588 | { editor empty$
589 | { edition empty$
590 | {" " booktitle *}
591 | {" " booktitle * ", " * edition * " ed." *}
592 | if$
593 | }
594 | { edition empty$
595 | {" " booktitle * "; " * format.editors * }
596 | {" " booktitle * ", " * edition * " ed." * "; " * format.editors * }
597 | if$
598 | }
599 | if$
600 | }
601 | if$
602 | }
603 |
604 | FUNCTION {format.publisher.and.address}
605 | { publisher empty$
606 | {""}
607 | { address empty$
608 | {publisher }
609 | {publisher ": " * address *}
610 | if$
611 | }
612 | if$
613 | }
614 |
615 |
616 |
617 | FUNCTION {empty.misc.check}
618 | { author empty$ title empty$ howpublished empty$
619 | month empty$ year empty$ note empty$
620 | and and and and and
621 | { "all relevant fields are empty in " cite$ * warning$ }
622 | 'skip$
623 | if$
624 | }
625 |
626 | FUNCTION {format.thesis.type}
627 | { type empty$
628 | 'skip$
629 | { pop$
630 | type "t" change.case$
631 | }
632 | if$
633 | }
634 |
635 | FUNCTION {format.tr.number}
636 | { type empty$
637 | { "Technical Report" }
638 | 'type
639 | if$
640 | number empty$
641 | { "t" change.case$ }
642 | { number tie.or.space.connect }
643 | if$
644 | }
645 |
646 | FUNCTION {format.article.crossref}
647 | { key empty$
648 | { journal empty$
649 | { "need key or journal for " cite$ * " to crossref " * crossref *
650 | warning$
651 | ""
652 | }
653 | { "In \emph{" journal * "}" * }
654 | if$
655 | }
656 | { "In " }
657 | if$
658 | " \citet{" * crossref * "}" *
659 | }
660 |
661 |
662 |
663 | FUNCTION {format.book.crossref}
664 | { volume empty$
665 | { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
666 | "In "
667 | }
668 | { "Vol." volume tie.or.space.connect
669 | " of " *
670 | }
671 | if$
672 | editor empty$
673 | editor field.or.null author field.or.null =
674 | or
675 | { key empty$
676 | { series empty$
677 | { "need editor, key, or series for " cite$ * " to crossref " *
678 | crossref * warning$
679 | "" *
680 | }
681 | { "{\em " * series * "\/}" * }
682 | if$
683 | }
684 | { key * }
685 | if$
686 | }
687 | { "" * }
688 | if$
689 | " \cite{" * crossref * "}" *
690 | }
691 |
692 | FUNCTION {format.incoll.inproc.crossref}
693 | { editor empty$
694 | editor field.or.null author field.or.null =
695 | or
696 | { key empty$
697 | { booktitle empty$
698 | { "need editor, key, or booktitle for " cite$ * " to crossref " *
699 | crossref * warning$
700 | ""
701 | }
702 | { "In {\em " booktitle * "\/}" * }
703 | if$
704 | }
705 | { "In " key * }
706 | if$
707 | }
708 | { "In " * }
709 | if$
710 | " \cite{" * crossref * "}" *
711 | }
712 |
713 | FUNCTION {format.website}
714 | { url empty$
715 | { "" }
716 | { "" url website *
717 | urldate empty$
718 | {"there is url but no urldate in " cite$ * warning$}
719 | { ", accessed on " * urldate *}
720 | if$
721 | }
722 | if$
723 | }
724 |
725 |
726 | %% the following function is modified from kp.bst at http://arxiv.org/hypertex/bibstyles/
727 | FUNCTION {format.eprint}
728 | {eprint empty$
729 | { ""}
730 | {primaryClass empty$
731 | {" \href{http://xxx.lanl.gov/abs/" eprint * "}" * "{{\normalfont " * "[" * eprint * "]" * "}}" *}
732 | {archivePrefix empty$
733 | {" \href{http://xxx.lanl.gov/abs/" eprint * "}" * "{{\normalfont " * "[" * "arXiv:" * primaryClass * "/" * eprint * "]" * "}}" *}
734 | {" \href{http://xxx.lanl.gov/abs/" eprint * "}" * "{{\normalfont " * "[" * archivePrefix * ":" * primaryClass * "/" * eprint * "]" * "}}" *}
735 | if$
736 | }
737 | if$
738 | }
739 | if$
740 | }
741 |
742 |
743 | %% For printing DOI numbers (it is a hyperlink but printed in black)
744 | FUNCTION {format.doi}
745 | { doi empty$
746 | { "" }
747 | {"\href{https://doi.org/" doi * "}" * }
748 | if$
749 | }
750 |
751 | FUNCTION {formatfull.doi}
752 | { doi empty$
753 | { "" }
754 | {"doi:{\changeurlcolor{black}\href{https://doi.org/" doi * "}{\detokenize{" * doi * "}}}" * }
755 | if$
756 | }
757 |
758 |
759 |
760 | FUNCTION {article}
761 | { output.bibitem
762 | format.authors "author" output.check
763 | author format.key output
764 | new.block
765 | format.title "title" output.check
766 | new.block
767 | crossref missing$
768 | { journal emphasize "journal" output.check
769 | format.date * format.vol.num.pages "" * output
770 | }
771 | { format.article.crossref output.nonnull
772 | format.pages output
773 | }
774 | if$
775 | format.eprint output
776 | new.block
777 | note output
778 | formatfull.doi output
779 | fin.entry
780 | }
781 |
782 | FUNCTION {book}
783 | { output.bibitem
784 | author empty$
785 | { format.editors "author and editor" output.check }
786 | { format.authors output.nonnull
787 | crossref missing$
788 | { "author and editor" editor either.or.check }
789 | 'skip$
790 | if$
791 | }
792 | if$
793 | new.block
794 | format.btitle "title" output.check
795 | format.edition output
796 | after.item 'output.state :=
797 | crossref missing$
798 | { format.bvolume output
799 | format.number.series output
800 | format.publisher.and.address "publisher" output.check
801 | %%% address output
802 | }
803 | {
804 | format.book.crossref output.nonnull
805 | }
806 | if$
807 | format.bdate "year" output.check
808 | after.item 'output.state :=
809 | format.chapter.pages output
810 | format.eprint output
811 | new.block
812 | note output
813 | formatfull.doi output
814 | fin.entry
815 | }
816 |
817 | FUNCTION {booklet}
818 | { output.bibitem
819 | format.authors output
820 | new.block
821 | format.title "title" output.check
822 | howpublished address new.block.checkb
823 | howpublished output
824 | address output
825 | format.bdate output
826 | format.eprint output
827 | new.block
828 | note output
829 | formatfull.doi output
830 | fin.entry
831 | }
832 |
833 | FUNCTION {inbook}
834 | { output.bibitem
835 | author empty$
836 | { format.editors "author and editor" output.check }
837 | { format.authors output.nonnull
838 | crossref missing$
839 | { "author and editor" editor either.or.check }
840 | 'skip$
841 | if$
842 | }
843 | if$
844 | %%% new.block
845 | format.title "title" output.check
846 | new.block
847 | crossref missing$
848 | { format.in.ed.booktitle "booktitle" output.check
849 | after.item 'output.state :=
850 | format.number.series output
851 | %% new.sentence
852 | format.publisher.and.address "publisher" output.check
853 | format.bdate "year" output.check
854 | after.item 'output.state :=
855 | format.bvolume output
856 | format.chapter.pages "chapter and pages" output.check
857 |
858 | }
859 | { format.chapter.pages "chapter and pages" output.check
860 | new.block
861 | format.book.crossref output.nonnull
862 | format.bdate "year" output.check
863 | }
864 | if$
865 | format.eprint output
866 | new.block
867 | note output
868 | formatfull.doi output
869 | fin.entry
870 | }
871 |
872 | FUNCTION {incollection}
873 | { output.bibitem
874 | format.authors "author" output.check
875 | new.block
876 | format.title "title" output.check
877 | new.sentence
878 | crossref missing$
879 | { format.in.ed.booktitle "booktitle" output.check
880 | after.item 'output.state :=
881 | format.number.series output
882 | % new.sentence
883 | format.publisher.and.address "publisher" output.check
884 | format.bdate "year" output.check
885 | after.item 'output.state :=
886 | format.bvolume output
887 | format.chapter.pages output
888 | }
889 | { format.incoll.inproc.crossref output.nonnull
890 | format.chapter.pages output
891 | }
892 | if$
893 | format.eprint output
894 | new.block
895 | note output
896 | formatfull.doi output
897 | fin.entry
898 | }
899 |
900 | FUNCTION {inproceedings}
901 | { output.bibitem
902 | format.authors "author" output.check
903 | new.block
904 | format.title "title" output.check
905 | new.block
906 | crossref missing$
907 | { format.in.ed.booktitle.proc "booktitle" output.check
908 | address empty$
909 | { organization publisher new.sentence.checkb
910 | organization output
911 | publisher output
912 | format.bdate "year" output.check
913 | }
914 | { after.item 'output.state :=
915 | organization output
916 | format.publisher.and.address output.nonnull
917 | format.bdate "year" output.check
918 | after.item 'output.state :=
919 | }
920 | if$
921 | format.number.series output
922 | format.bvolume output
923 | format.pages output
924 | }
925 | { format.incoll.inproc.crossref output.nonnull
926 | format.pages output
927 | }
928 | if$
929 | format.eprint output
930 | new.block
931 | note output
932 | formatfull.doi output
933 | fin.entry
934 | }
935 |
936 | FUNCTION {conference} { inproceedings }
937 |
938 | FUNCTION {manual}
939 | { output.bibitem
940 | author empty$
941 | { organization empty$
942 | 'skip$
943 | { organization output.nonnull
944 | address output
945 | }
946 | if$
947 | }
948 | { format.authors output.nonnull }
949 | if$
950 | new.block
951 | format.btitle "title" output.check
952 | author empty$
953 | { organization empty$
954 | { address new.block.checka
955 | address output
956 | }
957 | 'skip$
958 | if$
959 | }
960 | { organization address new.block.checkb
961 | organization output
962 | address output
963 | }
964 | if$
965 | format.edition output
966 | format.bdate output
967 | format.eprint output
968 | new.block
969 | note output
970 | formatfull.doi output
971 | fin.entry
972 | }
973 |
974 | FUNCTION {mastersthesis}
975 | { output.bibitem
976 | format.authors "author" output.check
977 | new.block
978 | format.title "title" output.check
979 | new.block
980 | "Master's thesis" format.thesis.type output.nonnull
981 | school "school" output.check
982 | address output
983 | format.bdate "year" output.check
984 | format.eprint output
985 | new.block
986 | note output
987 | formatfull.doi output
988 | fin.entry
989 | }
990 |
991 | FUNCTION {misc}
992 | { output.bibitem
993 | format.authors output
994 | title howpublished new.block.checkb
995 | format.title output
996 | howpublished new.block.checka
997 | howpublished output
998 | format.bdate output
999 | format.eprint output
1000 | new.block
1001 | note output
1002 | formatfull.doi output
1003 | fin.entry
1004 | empty.misc.check
1005 | }
1006 |
1007 | FUNCTION {phdthesis}
1008 | { output.bibitem
1009 | format.authors "author" output.check
1010 | new.block
1011 | format.title "title" output.check
1012 | new.block
1013 | "PhD thesis" format.thesis.type output.nonnull
1014 | school "school" output.check
1015 | address output
1016 | format.bdate "year" output.check
1017 | format.eprint output
1018 | new.block
1019 | note output
1020 | formatfull.doi output
1021 | fin.entry
1022 | }
1023 |
1024 | FUNCTION {proceedings}
1025 | { output.bibitem
1026 | editor empty$
1027 | { organization output }
1028 | { format.editors output.nonnull }
1029 | if$
1030 | new.block
1031 | format.btitle "title" output.check
1032 | format.bvolume output
1033 | format.number.series output
1034 | address empty$
1035 | { editor empty$
1036 | { publisher new.sentence.checka }
1037 | { organization publisher new.sentence.checkb
1038 | organization output
1039 | }
1040 | if$
1041 | publisher output
1042 | format.bdate "year" output.check
1043 | }
1044 | { address output.nonnull
1045 | format.bdate "year" output.check
1046 | new.sentence
1047 | editor empty$
1048 | 'skip$
1049 | { organization output }
1050 | if$
1051 | publisher output
1052 | }
1053 | if$
1054 | format.eprint output
1055 | new.block
1056 | note output
1057 | formatfull.doi output
1058 | fin.entry
1059 | }
1060 |
1061 | FUNCTION {techreport}
1062 | { output.bibitem
1063 | format.authors "author" output.check
1064 | new.block
1065 | format.title "title" output.check
1066 | new.block
1067 | format.tr.number output.nonnull
1068 | institution "institution" output.check
1069 | address output
1070 | format.bdate "year" output.check
1071 | format.eprint output
1072 | new.block
1073 | note output
1074 | formatfull.doi output
1075 | fin.entry
1076 | }
1077 |
1078 | FUNCTION {unpublished}
1079 | { output.bibitem
1080 | format.authors "author" output.check
1081 | new.block
1082 | format.title "title" output.check
1083 | format.eprint output
1084 | new.block
1085 | note output
1086 | formatfull.doi output
1087 | fin.entry
1088 | }
1089 |
1090 | FUNCTION {www}
1091 | { output.bibitem
1092 | format.authors "author" output.checkwoa
1093 | new.block
1094 | format.title "title" output.check
1095 | new.block
1096 | format.website "url" output.check
1097 | format.eprint output
1098 | new.block
1099 | note output
1100 | formatfull.doi output
1101 | fin.entry
1102 | }
1103 |
1104 | FUNCTION {patent}
1105 | { output.bibitem
1106 | format.authors "author" output.check
1107 | new.block
1108 | format.title "title" output.check
1109 | new.block
1110 | format.number.patent "number" output.check
1111 | mid.sentence 'output.state :=
1112 | format.pdate "date" output.check
1113 | format.eprint output
1114 | new.block
1115 | note output
1116 | formatfull.doi output
1117 | fin.entry
1118 | }
1119 |
1120 | READ
1121 |
1122 | FUNCTION {sortify}
1123 | { purify$
1124 | "l" change.case$
1125 | }
1126 |
1127 |
1128 | INTEGERS { len }
1129 |
1130 | FUNCTION {chop.word}
1131 | { 's :=
1132 | 'len :=
1133 | s #1 len substring$ =
1134 | { s len #1 + global.max$ substring$ }
1135 | 's
1136 | if$
1137 | }
1138 |
1139 |
1140 | FUNCTION {format.lab.names}
1141 | { 's :=
1142 | s #1 "{vv~}{ll}" format.name$
1143 | s num.names$ duplicate$
1144 | #2 >
1145 | { pop$ " \em{et~al.}" * }
1146 | { #2 <
1147 | 'skip$
1148 | { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
1149 | { " \em{et~al.}" * }
1150 | { " and " * s #2 "{vv~}{ll}" format.name$ * }
1151 | if$
1152 | }
1153 | if$
1154 | }
1155 | if$
1156 | }
1157 |
1158 |
1159 | FUNCTION {author.key.label}
1160 | { author empty$
1161 | { key empty$
1162 | { cite$ #1 #3 substring$ }
1163 | 'key
1164 | if$
1165 | }
1166 | { author format.lab.names }
1167 | if$
1168 | }
1169 |
1170 | FUNCTION {author.editor.key.label}
1171 | { author empty$
1172 | { editor empty$
1173 | { key empty$
1174 | { cite$ #1 #3 substring$ }
1175 | 'key
1176 | if$
1177 | }
1178 | { editor format.lab.names }
1179 | if$
1180 | }
1181 | { author format.lab.names }
1182 | if$
1183 | }
1184 |
1185 | FUNCTION {author.key.organization.label}
1186 | { author empty$
1187 | { key empty$
1188 | { organization empty$
1189 | { cite$ #1 #3 substring$ }
1190 | { "The " #4 organization chop.word #3 text.prefix$ }
1191 | if$
1192 | }
1193 | 'key
1194 | if$
1195 | }
1196 | { author format.lab.names }
1197 | if$
1198 | }
1199 |
1200 | FUNCTION {editor.key.organization.label}
1201 | { editor empty$
1202 | { key empty$
1203 | { organization empty$
1204 | { cite$ #1 #3 substring$ }
1205 | { "The " #4 organization chop.word #3 text.prefix$ }
1206 | if$
1207 | }
1208 | 'key
1209 | if$
1210 | }
1211 | { editor format.lab.names }
1212 | if$
1213 | }
1214 |
1215 | FUNCTION {calc.short.authors}
1216 | { type$ "book" =
1217 | type$ "inbook" =
1218 | or
1219 | 'author.editor.key.label
1220 | { type$ "proceedings" =
1221 | 'editor.key.organization.label
1222 | { type$ "manual" =
1223 | 'author.key.organization.label
1224 | 'author.key.label
1225 | if$
1226 | }
1227 | if$
1228 | }
1229 | if$
1230 | 'short.list :=
1231 | }
1232 |
1233 | FUNCTION {calc.label}
1234 | { calc.short.authors
1235 | short.list
1236 | "("
1237 | *
1238 | year duplicate$ empty$
1239 | short.list key field.or.null = or
1240 | { pop$ "" }
1241 | 'skip$
1242 | if$
1243 | *
1244 | 'label :=
1245 | }
1246 |
1247 | INTEGERS { seq.num }
1248 |
1249 | FUNCTION {init.seq}
1250 | { #0 'seq.num :=}
1251 |
1252 | EXECUTE {init.seq}
1253 |
1254 | FUNCTION {int.to.fix}
1255 | { "000000000" swap$ int.to.str$ *
1256 | #-1 #10 substring$
1257 | }
1258 |
1259 |
1260 | FUNCTION {presort}
1261 | { calc.label
1262 | label sortify
1263 | " "
1264 | *
1265 | seq.num #1 + 'seq.num :=
1266 | seq.num int.to.fix
1267 | 'sort.label :=
1268 | sort.label *
1269 | #1 entry.max$ substring$
1270 | 'sort.key$ :=
1271 | }
1272 |
1273 | ITERATE {presort}
1274 |
1275 |
1276 | STRINGS { longest.label last.label next.extra }
1277 |
1278 | INTEGERS { longest.label.width last.extra.num number.label }
1279 |
1280 | FUNCTION {initialize.longest.label}
1281 | { "" 'longest.label :=
1282 | #0 int.to.chr$ 'last.label :=
1283 | "" 'next.extra :=
1284 | #0 'longest.label.width :=
1285 | #0 'last.extra.num :=
1286 | #0 'number.label :=
1287 | }
1288 |
1289 | FUNCTION {forward.pass}
1290 | { last.label label =
1291 | { last.extra.num #1 + 'last.extra.num :=
1292 | last.extra.num int.to.chr$ 'extra.label :=
1293 | }
1294 | { "a" chr.to.int$ 'last.extra.num :=
1295 | "" 'extra.label :=
1296 | label 'last.label :=
1297 | }
1298 | if$
1299 | number.label #1 + 'number.label :=
1300 | }
1301 |
1302 | FUNCTION {reverse.pass}
1303 | { next.extra "b" =
1304 | { "a" 'extra.label := }
1305 | 'skip$
1306 | if$
1307 | extra.label 'next.extra :=
1308 | extra.label
1309 | duplicate$ empty$
1310 | 'skip$
1311 | { "{\natexlab{" swap$ * "}}" * }
1312 | if$
1313 | 'extra.label :=
1314 | label extra.label * 'label :=
1315 | }
1316 |
1317 | EXECUTE {initialize.longest.label}
1318 |
1319 | ITERATE {forward.pass}
1320 |
1321 | REVERSE {reverse.pass}
1322 |
1323 | FUNCTION {begin.bib}
1324 | { "\begin{thebibliography}{-------}"
1325 | write$ newline$
1326 | "\providecommand{\natexlab}[1]{#1}"
1327 | write$ newline$
1328 | }
1329 |
1330 | EXECUTE {begin.bib}
1331 |
1332 | EXECUTE {init.state.consts}
1333 |
1334 | ITERATE {call.type$}
1335 |
1336 | FUNCTION {end.bib}
1337 | { newline$
1338 | "\end{thebibliography}" write$ newline$
1339 | }
1340 |
1341 | EXECUTE {end.bib}
1342 |
1343 |
1344 |
--------------------------------------------------------------------------------
/packages.bib:
--------------------------------------------------------------------------------
1 | @Manual{R-base,
2 | title = {R: A Language and Environment for Statistical Computing},
3 | author = {{R Core Team}},
4 | organization = {R Foundation for Statistical Computing},
5 | address = {Vienna, Austria},
6 | year = {2021},
7 | url = {https://www.R-project.org/},
8 | }
9 |
10 | @Manual{R-bookdown,
11 | title = {bookdown: Authoring Books and Technical Documents with R Markdown},
12 | author = {Yihui Xie},
13 | year = {2020},
14 | note = {R package version 0.21},
15 | url = {https://github.com/rstudio/bookdown},
16 | }
17 |
18 | @Manual{R-gert,
19 | title = {gert: Simple Git Client for R},
20 | author = {Jeroen Ooms},
21 | year = {2021},
22 | note = {https://docs.ropensci.org/gert/ (website),
23 | https://github.com/r-lib/gert (devel), https://libgit2.org
24 | (upstream)},
25 | }
26 |
27 | @Manual{R-here,
28 | title = {here: A Simpler Way to Find Your Files},
29 | author = {Kirill Müller},
30 | year = {2020},
31 | note = {R package version 1.0.1},
32 | url = {https://CRAN.R-project.org/package=here},
33 | }
34 |
35 | @Manual{R-knitr,
36 | title = {knitr: A General-Purpose Package for Dynamic Report Generation in R},
37 | author = {Yihui Xie},
38 | year = {2021},
39 | note = {R package version 1.33},
40 | url = {https://yihui.org/knitr/},
41 | }
42 |
43 | @Manual{R-lavaan,
44 | title = {lavaan: Latent Variable Analysis},
45 | author = {Yves Rosseel and Terrence D. Jorgensen and Nicholas Rockwood},
46 | year = {2021},
47 | note = {R package version 0.6-8},
48 | url = {https://lavaan.ugent.be},
49 | }
50 |
51 | @Manual{R-renv,
52 | title = {renv: Project Environments},
53 | author = {Kevin Ushey},
54 | year = {2021},
55 | note = {R package version 0.13.2},
56 | url = {https://rstudio.github.io/renv/},
57 | }
58 |
59 | @Manual{R-repro,
60 | title = {repro: Automated Setup of Reproducible Workflows and their Dependencies},
61 | author = {Aaron Peikert and Andreas M. Brandmaier and Caspar J. {van Lissa}},
62 | year = {2021},
63 | note = {R package version 0.1.0},
64 | url = {https://github.com/aaronpeikert/repro},
65 | }
66 |
67 | @Manual{R-rticles,
68 | title = {rticles: Article Formats for R Markdown},
69 | author = {JJ Allaire and Yihui Xie and {R Foundation} and Hadley Wickham and {Journal of Statistical Software} and Ramnath Vaidyanathan and {Association for Computing Machinery} and Carl Boettiger and {Elsevier} and Karl Broman and Kirill Mueller and Bastiaan Quast and Randall Pruim and Ben Marwick and Charlotte Wickham and Oliver Keyes and Miao Yu and Daniel Emaasit and Thierry Onkelinx and Alessandro Gasparini and Marc-Andre Desautels and Dominik Leutnant and {MDPI} and {Taylor and Francis} and Oğuzhan Öğreden and Dalton Hance and Daniel Nüst and Petter Uvesten and Elio Campitelli and John Muschelli and Alex Hayes and Zhian N. Kamvar and Noam Ross and Robrecht Cannoodt and Duncan Luguern and David M. Kaplan and Sebastian Kreutzer and Shixiang Wang and Jay Hesselberth and Christophe Dervieux},
70 | year = {2021},
71 | note = {R package version 0.19},
72 | url = {https://github.com/rstudio/rticles},
73 | }
74 |
75 | @Manual{R-targets,
76 | title = {targets: Dynamic Function-Oriented Make-Like Declarative Workflows},
77 | author = {William Michael Landau},
78 | year = {2021},
79 | note = {R package version 0.4.2},
80 | url = {https://CRAN.R-project.org/package=targets},
81 | }
82 |
83 | @Manual{R-tidyverse,
84 | title = {tidyverse: Easily Install and Load the Tidyverse},
85 | author = {Hadley Wickham},
86 | year = {2019},
87 | note = {http://tidyverse.tidyverse.org,
88 | https://github.com/tidyverse/tidyverse},
89 | }
90 |
91 | @Book{bookdown2016,
92 | title = {bookdown: Authoring Books and Technical Documents with {R} Markdown},
93 | author = {Yihui Xie},
94 | publisher = {Chapman and Hall/CRC},
95 | address = {Boca Raton, Florida},
96 | year = {2016},
97 | note = {ISBN 978-1138700109},
98 | url = {https://github.com/rstudio/bookdown},
99 | }
100 |
101 | @Book{knitr2015,
102 | title = {Dynamic Documents with {R} and knitr},
103 | author = {Yihui Xie},
104 | publisher = {Chapman and Hall/CRC},
105 | address = {Boca Raton, Florida},
106 | year = {2015},
107 | edition = {2nd},
108 | note = {ISBN 978-1498716963},
109 | url = {https://yihui.org/knitr/},
110 | }
111 |
112 | @InCollection{knitr2014,
113 | booktitle = {Implementing Reproducible Computational Research},
114 | editor = {Victoria Stodden and Friedrich Leisch and Roger D. Peng},
115 | title = {knitr: A Comprehensive Tool for Reproducible Research in {R}},
116 | author = {Yihui Xie},
117 | publisher = {Chapman and Hall/CRC},
118 | year = {2014},
119 | note = {ISBN 978-1466561595},
120 | url = {http://www.crcpress.com/product/isbn/9781466561595},
121 | }
122 |
123 | @Article{lavaan2012,
124 | title = {{lavaan}: An {R} Package for Structural Equation Modeling},
125 | author = {Yves Rosseel},
126 | journal = {Journal of Statistical Software},
127 | year = {2012},
128 | volume = {48},
129 | number = {2},
130 | pages = {1--36},
131 | url = {https://www.jstatsoft.org/v48/i02/},
132 | }
133 |
134 | @Article{targets2021,
135 | title = {The targets R package: a dynamic Make-like function-oriented pipeline toolkit for reproducibility and high-performance computing},
136 | author = {William Michael Landau},
137 | journal = {Journal of Open Source Software},
138 | year = {2021},
139 | volume = {6},
140 | number = {57},
141 | pages = {2959},
142 | url = {https://doi.org/10.21105/joss.02959},
143 | }
144 |
145 | @Article{tidyverse2019,
146 | title = {Welcome to the {tidyverse}},
147 | author = {Hadley Wickham and Mara Averick and Jennifer Bryan and Winston Chang and Lucy D'Agostino McGowan and Romain François and Garrett Grolemund and Alex Hayes and Lionel Henry and Jim Hester and Max Kuhn and Thomas Lin Pedersen and Evan Miller and Stephan Milton Bache and Kirill Müller and Jeroen Ooms and David Robinson and Dana Paige Seidel and Vitalie Spinu and Kohske Takahashi and Davis Vaughan and Claus Wilke and Kara Woo and Hiroaki Yutani},
148 | year = {2019},
149 | journal = {Journal of Open Source Software},
150 | volume = {4},
151 | number = {43},
152 | pages = {1686},
153 | doi = {10.21105/joss.01686},
154 | }
155 |
156 |
--------------------------------------------------------------------------------
/preregistration.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Preregistered as Code: Gender differences in Machiavellianism"
3 | date: "7/10/2021"
4 | author:
5 | - name: Aaron Peikert
6 | affil: 1, *
7 | orcid: 0000-0001-7813-818X
8 | - name: Caspar J. Van Lissa
9 | affil: 2, 3
10 | orcid: 0000-0002-0808-5024
11 | - name: Andreas M. Brandmaier
12 | affil: 1, 4
13 | orcid: 0000-0001-8765-6982
14 | affiliation:
15 | - num: 1
16 | address: |
17 | Center for Lifespan Psychology---Max Planck Institute for Human Development
18 | Lentzeallee 94, 14195 Berlin, Germany
19 | - num: 2
20 | address: |
21 | Department of Methodology & Statistics---Utrecht University faculty of Social and Behavioral Sciences, Utrecht, Netherlands
22 | - num: 3
23 | address: |
24 | Open Science Community Utrecht, Utrecht, Netherlands
25 | - num: 4
26 | address: |
27 | Max Planck UCL Centre for Computational Psychiatry and Ageing Research
28 | Berlin, Germany and London, UK
29 | # firstnote to eighthnote
30 | correspondence: |
31 | peikert@mpib-berlin.mpg.de
32 | journal: psych
33 | type: tutorial
34 | status: submit
35 | bibliography: preregistration.bib
36 | abstract: |
37 | We test for group differences in machiavellianism between self-identified males and females in the MACH-IV in a well powered preregistered study.
38 | keywords: |
39 | preregistration as code, power simulation, machiavellianism, gender
40 | output: rticles::mdpi_article
41 | header-includes:
42 | - \def\baselinestretch{0.98}
43 | - \usepackage{draftwatermark}
44 | ---
45 |
46 | \setlength{\bibsep}{0cm}
47 | \titlespacing{\section}{.1cm}{.1cm}{.1cm}
48 | \SetWatermarkText{PAC}
49 |
50 | ```{r setup, include=FALSE}
51 | library(tidyverse)
52 | library(report)
53 | source(here::here("R", "simulation_funs.R"))
54 | ```
55 |
56 |
57 | # Theoretical Background
58 |
59 | Machiavellianism describes a personality dimension characterized by a cynical disregard of morals in the pursuit of one's own interest, e.g. through manipulation [@christie1970].
60 | There is extensive literature reporting differences in the dark triad (narcissism, machiavellianism, and psychopathy) between self-identified males and females [@muris2017] but only few studies focus solely on machiavellianism.
61 | We aim to replicate the finding that males tend to have higher machiavellianism scores [@muris2017].
62 |
63 | This research question serves as a testbed for preregistration as code (PAC) to examine if PAC is feasible under realistic conditions.
64 | In the PAC paradigm, all analysis code is written before real data are gathered or accessed the first time.
65 |
66 | ```{r, echo=FALSE}
67 | simulation_results <-
68 | readr::read_csv(here::here("data", "simulation_results.csv"), col_types = "ddddddd")
69 | ```
70 |
71 |
72 | # Method
73 |
74 | We report how we determined our sample size, all data exclusions (if any), all manipulations, and all measures in the study [cf. @simmons2012]. We use data available from [openpsychometrics.org](https://openpsychometrics.org/_rawdata/) from the online version of the MACH-IV[@christie1970] and included participants that have responded to at least one machiavellianism item and reported their gender as either "male" or "female".
75 |
76 |
77 |
78 | We conduct a Student's t-test [@studentProbableErrorMean1908] with Welch's correction [@welchGeneralizationStudentProblem1947] of the average of machiavellianism items between the binary-coded gender groups.
79 | If the skew of this average is greater than 1.0 we conduct a supposedly more robust Mann--Whitney--Wilcoxon test [@Wilcoxon1945] instead.
80 |
81 | ```{r, echo=FALSE}
82 | choosen_power <- .8
83 | choosen_d <- .2
84 | minn <-
85 | filter(filter(simulation_results, d == choosen_d, power > choosen_power),
86 | n == min(n))$n
87 | ```
88 |
89 | A simulation we conducted indicated that with a sample size of
90 | `r minn` for an alpha of .05 (two-sided) we achieve at least `r choosen_power*100`% power assuming a standardized effect size of d=`r choosen_d`.
91 |
92 |
93 |
94 | # Results
95 |
96 | ```{r, echo=FALSE, results='asis', warning=FALSE, message=FALSE}
97 | real_data <- here::here("data", "data.csv")
98 | simulated <- !fs::file_exists(real_data)
99 | if(simulated){
100 | cat("\\textcolor{red}{The results are based on simulated data and must not be
101 | interpreted. They only serve to illustrate the result of the preregistered
102 | code.}")
103 | set.seed(1234)
104 | mach <- simulate_data(900, 8, 0.3, 10)
105 | } else {
106 | mach <- readr::read_delim(real_data, delim = "\t", na = c("", "NA", "NULL"))
107 | # only keep MACH items + gender
108 | mach <- dplyr::select(mach, dplyr::matches("^Q\\d+A$"), gender)
109 | # code gender according to codebook (3 would be other)
110 | mach <-
111 | dplyr::mutate(mach, gender = factor(
112 | gender,
113 | levels = 1:2,
114 | labels = c("male", "female")
115 | ))
116 | # some items are reversed, see https://core.ac.uk/download/pdf/38810542.pdf
117 | reversed_nr <- c(1, 15, 2, 12, 4, 11, 14, 19)
118 | reversed <- stringr::str_c("Q", reversed_nr, "A")
119 | mach <- dplyr::mutate(mach, dplyr::across(one_of(reversed), ~ 6 - .x))
120 | }
121 | ```
122 |
123 |
124 |
125 | ```{r, echo=FALSE, results='asis'}
126 | report_analysis(planned_analysis(mach))
127 | ```
128 |
129 |
130 |
131 | # Discussion
132 |
133 | This document only serves to illustrate Preregistration as Code.
134 | We, therefore, do not discuss the results.
135 | After we have acquired the data, we realized that we had to change the code for reading the data, including recoding gender, missing values and reversed items (see commit [6556a93](https://github.com/aaronpeikert/repro-tutorial/commit/6556a9395fcdd600b5b0c5358f92a2c6635ae360) and commit [9f7ab21](https://github.com/aaronpeikert/repro-tutorial/commit/9f7ab212dfaf84a0398752a4b80cf14c71000d00)).
136 | We do not believe that these changes influence the results substantively.
137 |
138 |
139 | \newpage
140 | # References
141 |
--------------------------------------------------------------------------------
/preregistration.bib:
--------------------------------------------------------------------------------
1 |
2 | @article{muris2017,
3 | title = {The Malevolent Side of Human Nature},
4 | author = {{Muris}, {Peter} and {Merckelbach}, {Harald} and {Otgaar}, {Henry} and {Meijer}, {Ewout}},
5 | year = {2017},
6 | month = {03},
7 | date = {2017-03},
8 | journal = {Perspectives on Psychological Science},
9 | pages = {183--204},
10 | volume = {12},
11 | number = {2},
12 | doi = {10.1177/1745691616666070},
13 | url = {http://dx.doi.org/10.1177/1745691616666070},
14 | langid = {en}
15 | }
16 |
17 | @article{simmons2012,
18 | title = {A 21 Word Solution},
19 | author = {{Simmons}, {Joseph P.} and {Nelson}, {Leif D.} and {Simonsohn}, {Uri}},
20 | year = {2012},
21 | date = {2012},
22 | journal = {SSRN Electronic Journal},
23 | doi = {10.2139/ssrn.2160588},
24 | url = {http://dx.doi.org/10.2139/ssrn.2160588},
25 | langid = {en}
26 | }
27 |
28 | @book{christie1970,
29 | title = {Studies in Machiavellianism},
30 | author = {{Christie}, {R.} and {Geis}, {F. L.}},
31 | year = {1970},
32 | publisher = {Academic Press},
33 | address = {New York}
34 | }
35 |
36 | @article{studentProbableErrorMean1908,
37 | title = {The {{Probable Error}} of a {{Mean}}},
38 | author = {{Student}},
39 | date = {1908-03},
40 | journaltitle = {Biometrika},
41 | shortjournal = {Biometrika},
42 | volume = {6},
43 | pages = {1},
44 | issn = {00063444},
45 | doi = {10.2307/2331554},
46 | eprint = {2331554},
47 | eprinttype = {jstor},
48 | number = {1}
49 | }
50 |
51 | @article{welchGeneralizationStudentProblem1947,
52 | title = {The {{Generalization}} of ‘{{Student}}'s’ {{Problem}} When {{Several Different Population Varlances}} Are {{Involved}}},
53 | author = {Welch, B. L.},
54 | date = {1947},
55 | journaltitle = {Biometrika},
56 | shortjournal = {Biometrika},
57 | volume = {34},
58 | pages = {28--35},
59 | issn = {0006-3444, 1464-3510},
60 | doi = {10.1093/biomet/34.1-2.28},
61 | url = {https://academic.oup.com/biomet/article-lookup/doi/10.1093/biomet/34.1-2.28},
62 | urldate = {2021-07-05},
63 | langid = {english},
64 | number = {1-2}
65 | }
66 | @article{Wilcoxon1945,
67 | doi = {10.2307/3001968},
68 | url = {https://doi.org/10.2307/3001968},
69 | year = {1945},
70 | month = dec,
71 | publisher = {{JSTOR}},
72 | volume = {1},
73 | number = {6},
74 | pages = {80},
75 | author = {Frank Wilcoxon},
76 | title = {Individual Comparisons by Ranking Methods},
77 | journal = {Biometrics Bulletin}
78 | }
79 |
--------------------------------------------------------------------------------
/references.bib:
--------------------------------------------------------------------------------
1 | @article{Peikert2019,
2 | title = {A Reproducible Data Analysis Workflow with {{R Markdown, Git, Make, and Docker}}},
3 | author = {Peikert, Aaron and Brandmaier, Andreas M.},
4 | year = {2021},
5 | journal = {Quantitative and Computational Methods in Behavioral Sciences},
6 | volume = {1},
7 | pages = {e3763},
8 | doi = {10.5964/qcmb.3763}
9 | }
10 |
11 | @book{popperLogicScientificDiscovery2002,
12 | title = {The Logic of Scientific Discovery},
13 | author = {Popper, Karl R},
14 | year = {2002},
15 | publisher = {{Routledge}},
16 | address = {{London}}
17 | }
18 |
19 | @article{obels2020,
20 | title = {Analysis of Open Data and Computational Reproducibility in Registered Reports in Psychology},
21 | author = {Obels, Pepijn and Lakens, Daniel and Coles, Nicholas A and Gottfried, Jaroslav and Green, Seth A},
22 | year = {2020},
23 | journal = {Advances in Methods and Practices in Psychological Science},
24 | volume = {3},
25 | number = {2},
26 | pages = {229--237},
27 | publisher = {{SAGE Publications Sage CA: Los Angeles, CA}}
28 | }
29 |
30 | @article{NosekRevolution2018,
31 | title = {The Preregistration Revolution},
32 | author = {Nosek, Brian A. and Ebersole, Charles R. and DeHaven, Alexander C. and Mellor, David T.},
33 | year = {2018},
34 | journal = {Proceedings of the National Academy of Sciences},
35 | volume = {115},
36 | number = {11},
37 | pages = {2600--2606},
38 | doi = {10.1073/pnas.1708274114}
39 | }
40 |
41 | @article{hardwicke2018,
42 | title = {Data Availability, Reusability, and Analytic Reproducibility: Evaluating the Impact of a Mandatory Open Data Policy at the Journal {{Cognition}}},
43 | author = {Hardwicke, Tom E. and Mathur, Maya B. and MacDonald, Kyle and Nilsonne, Gustav and Banks, George C. and Kidwell, Mallory C. and Hofelich Mohr, Alicia and Clayton, Elizabeth and Yoon, Erica J. and Henry Tessler, Michael and Lenne, Richie L. and Altman, Sara and Long, Bria and Frank, Michael C.},
44 | year = {2018},
45 | journal = {Royal Society Open Science},
46 | volume = {5},
47 | number = {8},
48 | eprint = {https://royalsocietypublishing.org/doi/pdf/10.1098/rsos.180448},
49 | pages = {180448},
50 | doi = {10.1098/rsos.180448}
51 | }
52 |
53 | @article{vuorreCuratingResearchAssets2018,
54 | title = {Curating {{Research Assets}}: A {{Tutorial}} on the {{Git Version Control System}}},
55 | author = {Vuorre, Matti and Curley, James P.},
56 | year = {2018},
57 | journal = {Advances in Methods and Practices in Psychological Science},
58 | volume = {1},
59 | number = {2},
60 | pages = {219--236},
61 | doi = {10.1177/2515245918754826}
62 | }
63 |
64 | @article{bryanExcuseMeYou2018,
65 | title = {Excuse {{Me}}, {{Do You Have}} a {{Moment}} to {{Talk About Version Control}}?},
66 | author = {Bryan, Jennifer},
67 | year = {2018},
68 | month = jan,
69 | journal = {The American Statistician},
70 | volume = {72},
71 | number = {1},
72 | pages = {20--27},
73 | doi = {10.1080/00031305.2017.1399928}
74 | }
75 |
76 | @article{nuijtenPrevalenceStatisticalReporting2016,
77 | title = {The Prevalence of Statistical Reporting Errors in Psychology (1985\textendash 2013)},
78 | author = {Nuijten, Mich{\`e}le B. and Hartgerink, Chris H. J. and {van Assen}, Marcel A. L. M. and Epskamp, Sacha and Wicherts, Jelte M.},
79 | year = {2016},
80 | journal = {Behavior Research Methods},
81 | volume = {48},
82 | number = {4},
83 | pages = {1205--1226},
84 | doi = {10.3758/s13428-015-0664-2}
85 | }
86 |
87 | @book{knuthCWEBSystemStructured,
88 | title = {The {{CWEB System}} of {{Structured Documentation}}},
89 | author = {Knuth, Donald E. and Levy, Silvio},
90 | publisher = {Addison-Wesley Longman},
91 | year = {1994}
92 | }
93 |
94 | @book{lamportLATEXDocumentPreparation1994,
95 | title = {{{LATEX}}: A Document Preparation System: User's Guide and Reference Manual},
96 | author = {Lamport, Leslie},
97 | year = {1994},
98 | edition = {2nd},
99 | publisher = {{Addison-Wesley}},
100 | address = {{Reading, MA}},
101 | isbn = {978-0-201-52983-8}
102 | }
103 |
104 | @manual{revealjs,
105 | type = {Manual},
106 | title = {Revealjs: R Markdown Format for 'reveal.{{Js}}' Presentations},
107 | author = {El Hattab, Hakim and Allaire, JJ},
108 | year = {2017}
109 | }
110 |
111 | @manual{vitae,
112 | type = {Manual},
113 | title = {Vitae: Curriculum Vitae for r Markdown},
114 | author = {{O'Hara-Wild}, Mitchell and Hyndman, Rob},
115 | year = {2021}
116 | }
117 |
118 | @article{boettigerIntroductionRockerDocker2017,
119 | title = {An Introduction to Rocker: Docker Containers for {{R}}},
120 | shorttitle = {An {{Introduction}} to {{Rocker}}},
121 | author = {Boettiger, Carl and Eddelbuettel, Dirk},
122 | year = {2017},
123 | journal = {The R Journal},
124 | volume = {9},
125 | number = {2},
126 | pages = {527},
127 | issn = {2073-4859},
128 | doi = {10.32614/RJ-2017-065},
129 | langid = {english}
130 | }
131 |
132 | @article{tidyverse,
133 | title = {Welcome to the {{tidyverse}}},
134 | author = {Wickham, Hadley and Averick, Mara and Bryan, Jennifer and Chang, Winston and McGowan, Lucy D'Agostino and Fran{\c c}ois, Romain and Grolemund, Garrett and Hayes, Alex and Henry, Lionel and Hester, Jim and Kuhn, Max and Pedersen, Thomas Lin and Miller, Evan and Bache, Stephan Milton and M{\"u}ller, Kirill and Ooms, Jeroen and Robinson, David and Seidel, Dana Paige and Spinu, Vitalie and Takahashi, Kohske and Vaughan, Davis and Wilke, Claus and Woo, Kara and Yutani, Hiroaki},
135 | year = {2019},
136 | journal = {Journal of Open Source Software},
137 | volume = {4},
138 | number = {43},
139 | pages = {1686},
140 | doi = {10.21105/joss.01686}
141 | }
142 |
143 | @manual{usethis,
144 | type = {Manual},
145 | title = {Usethis: Automate Package and Project Setup},
146 | author = {Wickham, Hadley and Bryan, Jennifer},
147 | year = {2021}
148 | }
149 |
150 | @manual{rstudio,
151 | type = {Manual},
152 | title = {{{RStudio}}: Integrated Development Environment for r},
153 | author = {{RStudio Team}},
154 | year = {2021},
155 | address = {{Boston, MA}},
156 | organization = {{RStudio, PBC}}
157 | }
158 |
159 | @manual{papaja,
160 | type = {Manual},
161 | title = {{{papaja}}: Create {{APA}} Manuscripts with {{R Markdown}}},
162 | author = {Aust, Frederik and Barth, Marius},
163 | year = {2020}
164 | }
165 |
166 | @article{report,
167 | title = {Automated Results Reporting as a Practical Tool to Improve Reproducibility and Methodological Best Practices Adoption},
168 | author = {Makowski, Dominique and {Ben-Shachar}, Mattan S. and Patil, Indrajeet and L{\"u}decke, Daniel},
169 | year = {2021},
170 | journal = {CRAN}
171 | }
172 |
173 | @incollection{claerboutElectronicDocumentsGive1992,
174 | title = {Electronic Documents Give Reproducible Research a New Meaning},
175 | booktitle = {{{SEG Technical Program Expanded Abstracts}} 1992},
176 | author = {Claerbout, Jon F. and Karrenbach, Martin},
177 | year = {1992},
178 | series = {{{SEG Technical Program Expanded Abstracts}}},
179 | pages = {601--604},
180 | publisher = {{Society of Exploration Geophysicists}},
181 | doi = {10.1190/1.1822162}
182 | }
183 |
184 | @book{xieMarkdownCookbook2020,
185 | title = {R Markdown Cookbook},
186 | author = {Xie, Yihui and Dervieux, Christophe and Riederer, Emily},
187 | year = {2020},
188 | series = {The {{R Series}}},
189 | edition = {First},
190 | publisher = {{Taylor and Francis, CRC Press}},
191 | address = {{Boca Raton}},
192 | isbn = {978-0-367-56383-7 978-0-367-56382-0}
193 | }
194 |
195 | @article{vanlissa2020worcs,
196 | title = {{{WORCS}}: A Workflow for Open Reproducible Code in Science},
197 | author = {van Lissa, Caspar J. and Brandmaier, Andreas M. and Brinkman, Loek and Lamprecht, Anna-Lena and Peikert, Aaron and Struiksma, Marijn E. and Vreede, Barbara M.I.},
198 | year = {2021},
199 | journal = {Data Science},
200 | volume = {4},
201 | number = {1},
202 | pages = {29--49},
203 | doi = {10.3233/DS-210031}
204 | }
205 |
206 | @article{silverSoftwareSimplified2017,
207 | title = {Software Simplified},
208 | author = {Silver, Andrew},
209 | year = {2017},
210 | journal = {Nature},
211 | volume = {546},
212 | number = {7656},
213 | pages = {173--174}
214 | }
215 |
216 | @article{wiebelsLeveragingContainersReproducible2021,
217 | title = {Leveraging {{Containers}} for {{Reproducible Psychological Research}}},
218 | author = {Wiebels, Kristina and Moreau, David},
219 | year = {2021},
220 | journal = {Advances in Methods and Practices in Psychological Science},
221 | volume = {4},
222 | number = {2},
223 | pages = {25152459211017853},
224 | publisher = {{SAGE Publications Inc}},
225 | doi = {10.1177/25152459211017853}
226 | }
227 |
228 | @book{parasuramanAutomationHumanPerformance2018,
229 | title = {Automation and {{Human Performance}}: Theory and {{Applications}}},
230 | author = {Parasuraman, Raja and Mouloua, Mustapha},
231 | year = {2019},
232 | edition = {First},
233 | publisher = {{CRC Press}},
234 | address = {{Boca Raton, FL}},
235 | isbn = {978-1-351-46504-5},
236 | langid = {english},
237 | }
238 |
239 | @book{xieMarkdownDefinitiveGuide2019,
240 | title = {R {{Markdown}}: The Definitive Guide},
241 | shorttitle = {R {{Markdown}}},
242 | author = {Xie, Yihui and Allaire, J. J. and Grolemund, Garrett},
243 | year = {2019},
244 | publisher = {{CRC Press}},
245 | address = {{Boca Raton, FL}},
246 | isbn = {978-0-429-78296-1}
247 | }
248 |
249 | @book{apa7,
250 | title = {Publication Manual of the {{American}} Psychological Association},
251 | editor = {American Psychological Association},
252 | year = {2019},
253 | edition = {7th},
254 | publisher = {{American Psychological Association}},
255 | address = {{Washington, DC}}
256 | }
257 |
258 | @article{silberzahnManyAnalystsOne2018,
259 | title = {Many {{Analysts}}, {{One Data Set}}: Making {{Transparent How Variations}} in {{Analytic Choices Affect Results}}},
260 | author = {Silberzahn, R. and Uhlmann, E. L. and Martin, D. P. and Anselmi, P. and Aust, F. and Awtrey, E. and Bahnik, S. and Bai, F. and Bannard, C. and Bonnier, E. and Carlsson, R. and Cheung, F. and Christensen, G. and Clay, R. and Craig, M. A. and Dalla Rosa, A. and Dam, L. and Evans, M. H. and Flores Cervantes, I. and Fong, N. and {Gamez-Djokic}, M. and Glenz, A. and {Gordon-McKeon}, S. and Heaton, T. J. and Hederos, K. and Heene, M. and Hofelich Mohr, A. J. and H{\"o}gden, F. and Hui, K. and Johannesson, M. and Kalodimos, J. and Kaszubowski, E. and Kennedy, D. M. and Lei, R. and Lindsay, T. A. and Liverani, S. and Madan, C. R. and Molden, D. and Molleman, E. and Morey, R. D. and Mulder, L. B. and Nijstad, B. R. and Pope, N. G. and Pope, B. and Prenoveau, J. M. and Rink, F. and Robusto, E. and Roderique, H. and Sandberg, A. and Schl{\"u}ter, E. and Sch{\"o}nbrodt, F. D. and Sherman, M. F. and Sommer, S. A. and Sotak, K. and Spain, S. and Sp{\"o}rlein, C. and Stafford, T. and Stefanutti, L. and Tauber, S. and Ullrich, J. and Vianello, M. and Wagenmakers, E.-J. and Witkowiak, M. and Yoon, S. and Nosek, B. A.},
261 | year = {2018},
262 | month = sep,
263 | journal = {Advances in Methods and Practices in Psychological Science},
264 | volume = {1},
265 | number = {3},
266 | pages = {337--356},
267 | issn = {2515-2459},
268 | doi = {10.1177/2515245917747646}
269 | }
270 |
271 | @article{bowmanOSFPreregTemplate2020,
272 | title = {{{OSF Prereg Template}}},
273 | author = {Bowman, Sara and DeHaven, Alexander and Errington, Tim and Hardwicke, Tom E. and Mellor, David Thomas and Nosek, Brian A. and Soderberg, Courtney K.},
274 | year = {2020},
275 | doi = {10.31222/osf.io/epgjd}
276 | }
277 |
278 | @article{bakkerEnsuringQualitySpecificity2020,
279 | title = {Ensuring the Quality and Specificity of Preregistrations},
280 | author = {Bakker, Marjan and Veldkamp, Coosje L. S. and {van Assen}, Marcel A. L. M. and Crompvoets, Elise A. V. and Ong, How Hwee and Nosek, Brian A. and Soderberg, Courtney K. and Mellor, David and Wicherts, Jelte M.},
281 | year = {2020},
282 | journal = {PLOS Biology},
283 | volume = {18},
284 | number = {12},
285 | pages = {e3000937},
286 | doi = {10.1371/journal.pbio.3000937}
287 | }
288 |
289 | @article{bakkerRecommendationsPreregistrationsInternal2020,
290 | title = {Recommendations in Pre-Registrations and Internal Review Board Proposals Promote Formal Power Analyses but Do Not Increase Sample Size},
291 | author = {Bakker, Marjan and Veldkamp, Coosje L. S. and {van den Akker}, Olmo R. and {van Assen}, Marcel A. L. M. and Crompvoets, Elise and Ong, How Hwee and Wicherts, Jelte M.},
292 | year = {2020},
293 | month = jul,
294 | journal = {PLOS ONE},
295 | volume = {15},
296 | number = {7},
297 | pages = {e0236079},
298 | doi = {10.1371/journal.pone.0236079}
299 | }
300 |
301 | @article{steegenMeasuringCrowdAgain2014,
302 | title = {Measuring the Crowd within Again: A Pre-Registered Replication Study},
303 | author = {Steegen, Sara and Dewitte, Laura and Tuerlinckx, Francis and Vanpaemel, Wolf},
304 | year = {2014},
305 | journal = {Frontiers in Psychology},
306 | volume = {5},
307 | doi = {10.3389/fpsyg.2014.00786}
308 | }
309 |
310 | @article{morrisUsingSimulationStudies2019,
311 | title = {Using Simulation Studies to Evaluate Statistical Methods},
312 | author = {Morris, Tim P. and White, Ian R. and Crowther, Michael J.},
313 | year = {2019},
314 | journal = {Statistics in Medicine},
315 | volume = {38},
316 | number = {11},
317 | pages = {2074--2102},
318 | doi = {10.1002/sim.8086}
319 | }
320 |
321 | @article{paxtonMonteCarloExperiments2001,
322 | title = {Monte {{Carlo Experiments}}: Design and {{Implementation}}},
323 | shorttitle = {Monte {{Carlo Experiments}}},
324 | author = {Paxton, Pamela and Curran, Patrick J. and Bollen, Kenneth A. and Kirby, Jim and Chen, Feinian},
325 | year = {2001},
326 | month = apr,
327 | journal = {Structural Equation Modeling: A Multidisciplinary Journal},
328 | volume = {8},
329 | number = {2},
330 | pages = {287--312},
331 | doi = {10.1207/S15328007SEM0802_7}
332 | }
333 |
334 | @article{skrondalDesignAnalysisMonte2000,
335 | title = {Design and {{Analysis}} of {{Monte Carlo Experiments}}: Attacking the {{Conventional Wisdom}}},
336 | shorttitle = {Design and {{Analysis}} of {{Monte Carlo Experiments}}},
337 | author = {Skrondal, Anders},
338 | year = {2000},
339 | journal = {Multivariate Behavioral Research},
340 | volume = {35},
341 | number = {2},
342 | pages = {137--167},
343 | doi = {10.1207/S15327906MBR3502_1}
344 | }
345 |
346 | @article{simstudy,
347 | title = {Simstudy: Illuminating Research Methods through Data Generation},
348 | shorttitle = {Simstudy},
349 | author = {Goldfeld, Keith and {Wujciak-Jens}, Jacob},
350 | year = {2020},
351 | journal = {Journal of Open Source Software},
352 | volume = {5},
353 | number = {54},
354 | pages = {2763},
355 | doi = {10.21105/joss.02763}
356 | }
357 |
358 | @article{goldfeldSimstudyIlluminatingResearch2020,
359 | title = {Simstudy: Illuminating Research Methods through Data Generation},
360 | shorttitle = {Simstudy},
361 | author = {Goldfeld, Keith and {Wujciak-Jens}, Jacob},
362 | year = {2020},
363 | journal = {Journal of Open Source Software},
364 | volume = {5},
365 | number = {54},
366 | pages = {2763},
367 | doi = {10.21105/joss.02763}
368 | }
369 |
370 | @manual{psych,
371 | type = {Manual},
372 | title = {Psych: Procedures for Psychological, Psychometric, and Personality Research},
373 | author = {Revelle, William},
374 | year = {2021},
375 | address = {{Evanston, Ill}},
376 | organization = {{Northwestern University}}
377 | }
378 |
379 | @article{szollosi_is_2020,
380 | title = {Is {{Preregistration Worthwhile}}?},
381 | author = {Szollosi, Aba and Kellen, David and Navarro, Danielle J. and Shiffrin, Richard and {van Rooij}, Iris and Van Zandt, Trisha and Donkin, Chris},
382 | year = {2020},
383 | journal = {Trends in Cognitive Sciences},
384 | volume = {24},
385 | number = {2},
386 | pages = {94--95},
387 | doi = {10.1016/j.tics.2019.11.009}
388 | }
389 |
390 | @article{nosekPreregistrationHardWorthwhile2019,
391 | title = {Preregistration {{Is Hard}}, {{And Worthwhile}}},
392 | author = {Nosek, Brian A. and Beck, Emorie D. and Campbell, Lorne and Flake, Jessica K. and Hardwicke, Tom E. and Mellor, David T. and {van 't Veer}, Anna E. and Vazire, Simine},
393 | year = {2019},
394 | journal = {Trends in Cognitive Sciences},
395 | volume = {23},
396 | number = {10},
397 | pages = {815--818},
398 | doi = {10.1016/j.tics.2019.07.009}
399 | }
400 |
401 | @article{meehlTheoreticalRisksTabular1978,
402 | title = {Theoretical Risks and Tabular Asterisks: Sir {{Karl}}, {{Sir Ronald}}, and the Slow Progress of Soft Psychology},
403 | shorttitle = {Theoretical Risks and Tabular Asterisks},
404 | author = {Meehl, Paul E.},
405 | year = {1978},
406 | journal = {Journal of Consulting and Clinical Psychology},
407 | volume = {46},
408 | number = {4},
409 | pages = {806--834},
410 | doi = {10.1037/0022-006X.46.4.806}
411 | }
412 |
413 | @incollection{brandmaier22mlsem,
414 | title = {Machine-Learning Approaches to Structural Equation Modeling},
415 | booktitle = {Handbook of Structural Equation Modeling},
416 | author = {Brandmaier, A. M. and Jacobucci, R.C.},
417 | editor = {Hoyle, R. H.},
418 | year = {in press},
419 | edition = {2nd rev.},
420 | publisher = {{Guilford Press}}
421 | }
422 |
423 | @inproceedings{axelrodAdvancingArtSimulation1997,
424 | title = {Advancing the {{Art}} of {{Simulation}} in the {{Social Sciences}}},
425 | booktitle = {Simulating {{Social Phenomena}}},
426 | author = {Axelrod, Robert},
427 | editor = {Conte, Rosaria and Hegselmann, Rainer and Terna, Pietro},
428 | year = {1997},
429 | series = {Lecture {{Notes}} in {{Economics}} and {{Mathematical Systems}}},
430 | pages = {21--40},
431 | publisher = {{Springer}},
432 | address = {{Berlin}},
433 | doi = {10.1007/978-3-662-03366-1_2},
434 | isbn = {978-3-662-03366-1}
435 | }
436 |
437 | @article{braiekTestingMachineLearning2020,
438 | title = {On Testing Machine Learning Programs},
439 | author = {Braiek, Houssem Ben and Khomh, Foutse},
440 | year = {2020},
441 | journal = {Journal of Systems and Software},
442 | volume = {164},
443 | pages = {110542},
444 | doi = {10.1016/j.jss.2020.110542}
445 | }
446 |
447 | @article{nosekRegisteredReports2014,
448 | title = {Registered {{Reports}}},
449 | author = {Nosek, Brian A. and Lakens, Dani{\"e}l},
450 | year = {2014},
451 | journal = {Social Psychology},
452 | volume = {45},
453 | number = {3},
454 | pages = {137--141},
455 | doi = {10.1027/1864-9335/a000192}
456 | }
457 |
458 | @article{chambersWhatNextRegistered2019,
459 | title = {What's next for {{Registered Reports}}?},
460 | author = {Chambers, Chris},
461 | year = {2019},
462 | month = sep,
463 | journal = {Nature},
464 | volume = {573},
465 | number = {7773},
466 | pages = {187--189},
467 | doi = {10.1038/d41586-019-02674-6},
468 | langid = {english}
469 | }
470 |
471 | @article{brandmaier2018precision,
472 | title = {Precision, Reliability, and Effect Size of Slope Variance in Latent Growth Curve Models: Implications for Statistical Power Analysis},
473 | author = {Brandmaier, Andreas M. and {von Oertzen}, Timo and Ghisletta, Paolo and Lindenberger, Ulman and Hertzog, Christopher},
474 | year = {2018},
475 | journal = {Frontiers in Psychology},
476 | volume = {9},
477 | pages = {294},
478 | doi = {10.3389/fpsyg.2018.00294}
479 | }
480 |
481 | @article{harrisonIntroductionMonteCarlo2010,
482 | title = {Introduction to {{Monte Carlo Simulation}}},
483 | author = {Harrison, Robert L.},
484 | year = {2010},
485 | journal = {AIP Conference Proceedings},
486 | volume = {1204},
487 | number = {1},
488 | pages = {17--21},
489 | doi = {10.1063/1.3295638}
490 | }
491 |
492 | @inproceedings{raychaudhuriIntroductionMonteCarlo2008,
493 | title = {Introduction to {{Monte Carlo}} Simulation},
494 | booktitle = {2008 {{Winter Simulation Conference}}},
495 | author = {Raychaudhuri, Samik},
496 | year = {2008},
497 | month = dec,
498 | pages = {91--100},
499 | issn = {1558-4305},
500 | doi = {10.1109/WSC.2008.4736059},
501 | eventtitle = {2008 {{Winter Simulation Conference}}}
502 | }
503 |
504 |
505 | @article{westonRecommendationsIncreasingTransparency2019,
506 | title = {Recommendations for {{Increasing}} the {{Transparency}} of {{Analysis}} of {{Preexisting Data Sets}}},
507 | author = {Weston, Sara J. and Ritchie, Stuart J. and Rohrer, Julia M. and Przybylski, Andrew K.},
508 | year = {2019},
509 | journal = {Advances in Methods and Practices in Psychological Science},
510 | volume = {2},
511 | number = {3},
512 | pages = {214--227},
513 | doi = {10.1177/2515245919848684}
514 | }
515 |
516 |
517 | @misc{ICH1998,
518 | title = {E 9 {{Statistical Principles}} for {{Clinical Trials}}},
519 | author = {{International Council for Harmonisation of Technical Requirements for Registration of Pharmaceuticals for Human Use}},
520 | year = {1998},
521 | langid = {english}
522 | }
523 |
524 | @article{thabaneTutorialPilotStudies2010,
525 | title = {A Tutorial on Pilot Studies: The What, Why and How},
526 | shorttitle = {A Tutorial on Pilot Studies},
527 | author = {Thabane, Lehana and Ma, Jinhui and Chu, Rong and Cheng, Ji and Ismaila, Afisi and Rios, Lorena P and Robson, Reid and Thabane, Marroon and Giangregorio, Lora and Goldsmith, Charles H},
528 | year = {2010},
529 | month = dec,
530 | journal = {BMC Medical Research Methodology},
531 | volume = {10},
532 | number = {1},
533 | pages = {1},
534 | issn = {1471-2288},
535 | doi = {10.1186/1471-2288-10-1},
536 | langid = {english}
537 | }
538 |
539 | @manual{pander,
540 | type = {Manual},
541 | title = {Pander: An {R} 'pandoc' Writer},
542 | author = {Dar{\'o}czi, Gergely and Tsegelskyi, Roman},
543 | year = {2021}
544 | }
545 |
546 | @manual{stargazer,
547 | type = {Manual},
548 | title = {Stargazer: Well-{{Formatted}} Regression and Summary Statistics Tables},
549 | author = {Hlavac, Marek},
550 | year = {2018},
551 | address = {{Bratislava, Slovakia}},
552 | organization = {{Central European Labour Studies Institute (CELSI)}}
553 | }
554 |
555 | @manual{apaTables,
556 | type = {Manual},
557 | title = {{{apaTables}}: Create American Psychological Association ({{APA}}) Style Tables},
558 | author = {Stanley, David},
559 | year = {2021}
560 | }
561 |
562 | @article{yuanGuideStatisticalAnalysis2019,
563 | title = {Guide to the Statistical Analysis Plan},
564 | author = {Yuan, Ian and Topjian, Alexis A. and Kurth, Charles D. and Kirschen, Matthew P. and Ward, Christopher G. and Zhang, Bingqing and Mensinger, Janell L.},
565 | year = {2019},
566 | journal = {Pediatric Anesthesia},
567 | volume = {29},
568 | number = {3},
569 | pages = {237--242},
570 | doi = {10.1111/pan.13576}
571 | }
572 |
573 | @article{fagerlandTtestsNonparametricTests2012,
574 | title = {T-Tests, Non-Parametric Tests, and Large {{Studies}}\textemdash a Paradox of Statistical Practice?},
575 | author = {Fagerland, Morten W},
576 | year = {2012},
577 | journal = {BMC Medical Research Methodology},
578 | volume = {12},
579 | pages = {78},
580 | doi = {10.1186/1471-2288-12-78}
581 | }
582 |
583 | @article{hortonStatisticalMethodsJournal2005,
584 | title = {Statistical {{Methods}} in the {{Journal}}},
585 | author = {Horton, Nicholas J. and Switzer, Suzanne S.},
586 | year = {2005},
587 | journal = {New England Journal of Medicine},
588 | volume = {353},
589 | number = {18},
590 | pages = {1977--1979},
591 | doi = {10.1056/NEJM200511033531823}
592 | }
593 |
594 | @article{putnickMeasurementInvarianceConventions2016,
595 | title = {Measurement {{Invariance Conventions}} and {{Reporting}}: The {{State}} of the {{Art}} and {{Future Directions}} for {{Psychological Research}}},
596 | author = {Putnick, Diane L. and Bornstein, Marc H.},
597 | year = {2016},
598 | journal = {Developmental review},
599 | volume = {41},
600 | eprint = {27942093},
601 | pages = {71--90},
602 | doi = {10.1016/j.dr.2016.06.004}
603 | }
604 |
605 | @article{frostCorrectingRegressionDilution2000,
606 | title = {Correcting for {{Regression Dilution Bias}}: Comparison of {{Methods}} for a {{Single Predictor Variable}}},
607 | shorttitle = {Correcting for {{Regression Dilution Bias}}},
608 | author = {Frost, Chris and Thompson, Simon G.},
609 | year = {2000},
610 | journal = {Journal of the Royal Statistical Society. Series A (Statistics in Society)},
611 | volume = {163},
612 | number = {2},
613 | pages = {173--189},
614 | publisher = {{[Wiley, Royal Statistical Society]}},
615 | doi = {10.1111/1467-985x.00164}
616 | }
617 |
618 |
619 | @article{stonehouseRobustnessTestsCombined1998,
620 | title = {Robustness of the t and {{U}} Tests under Combined Assumption Violations},
621 | author = {Stonehouse, John M. and Forrester, Guy J.},
622 | year = {1998},
623 | month = feb,
624 | journal = {Journal of Applied Statistics},
625 | volume = {25},
626 | number = {1},
627 | pages = {63--74},
628 | publisher = {{Taylor \& Francis}},
629 | issn = {0266-4763},
630 | doi = {10.1080/02664769823304}
631 | }
632 |
633 | @article{zimmermanRankTransformationsPower1993,
634 | title = {Rank Transformations and the Power of the {{Student}} t Test and {{Welch}} t' Test for Non-Normal Populations with Unequal Variances.},
635 | author = {Zimmerman, Donald W. and Zumbo, Bruno D.},
636 | year = {1993},
637 | journal = {Canadian Journal of Experimental Psychology/Revue canadienne de psychologie exp\'erimentale},
638 | volume = {47},
639 | number = {3},
640 | pages = {523--539},
641 | issn = {1878-7290, 1196-1961},
642 | doi = {10.1037/h0078850},
643 | langid = {english}
644 | }
645 |
646 | @misc{zenodo,
647 | title = {Zenodo},
648 | author = {{European Organization For Nuclear Research} and {OpenAIRE}},
649 | year = {2013},
650 | publisher = {{CERN}},
651 | doi = {10.25495/7GXK-RD71},
652 | langid = {english},
653 | keywords = {Dataset,FOS: Physical sciences,Publication}
654 | }
655 |
656 | @article{rouderMinimizingMistakesPsychological2019,
657 | title = {Minimizing {{Mistakes}} in {{Psychological Science}}},
658 | author = {Rouder, Jeffrey N. and Haaf, Julia M. and Snyder, Hope K.},
659 | year = {2019},
660 | journal = {Advances in Methods and Practices in Psychological Science},
661 | volume = {2},
662 | number = {1},
663 | pages = {3--11},
664 | doi = {10.1177/2515245918801915},
665 | langid = {english}
666 | }
667 |
668 | @article{lakensImprovingTransparencyFalsifiability2021,
669 | title = {Improving {{Transparency}}, {{Falsifiability}}, and {{Rigor}} by {{Making Hypothesis Tests Machine}}-{{Readable}}},
670 | author = {Lakens, Dani{\"e}l and DeBruine, Lisa M.},
671 | year = {2021},
672 | journal = {Advances in Methods and Practices in Psychological Science},
673 | volume = {4},
674 | number = {2},
675 | pages = {2515245920970949},
676 | doi = {10.1177/2515245920970949}
677 | }
678 |
679 | @article{arslanHowAutomaticallyDocument2019,
680 | title = {How to {{Automatically Document Data With}} the Codebook {{Package}} to {{Facilitate Data Reuse}}},
681 | author = {Arslan, Ruben C.},
682 | year = {2019},
683 | journal = {Advances in Methods and Practices in Psychological Science},
684 | volume = {2},
685 | number = {2},
686 | pages = {169--187},
687 | issn = {2515-2459},
688 | doi = {10.1177/2515245919838783}
689 | }
690 |
691 | @article{simonsValueDirectReplication2014,
692 | title = {The {{Value}} of {{Direct Replication}}},
693 | author = {Simons, Daniel J.},
694 | year = {2014},
695 | journal = {Perspectives on Psychological Science},
696 | volume = {9},
697 | number = {1},
698 | pages = {76--80},
699 | publisher = {{SAGE Publications Inc}},
700 | doi = {10.1177/1745691613514755}
701 | }
702 |
703 | @article{elliottLivingSystematicReviews2014,
704 | title = {Living {{Systematic Reviews}}: An {{Emerging Opportunity}} to {{Narrow}} the {{Evidence}}-{{Practice Gap}}},
705 | author = {Elliott, Julian H. and Turner, Tari and Clavisi, Ornella and Thomas, James and Higgins, Julian P. T. and Mavergames, Chris and Gruen, Russell L.},
706 | year = {2014},
707 | journal = {PLoS Medicine},
708 | volume = {11},
709 | number = {2},
710 | pages = {e1001603},
711 | doi = {10.1371/journal.pmed.1001603}
712 | }
713 |
714 | @article{elifesciencespublicationsELifeLaunchesExecutable2020,
715 | title = {{{eLife}} Launches {{Executable Research Articles}} for Publishing Computationally Reproducible Results},
716 | author = {{eLife Sciences Publications}},
717 | year = {2020},
718 | langid = {english},
719 | organization = {{eLife}},
720 | url = {https://elifesciences.org/for-the-press/eb096af1/elife-launches-executable-research-articles-for-publishing-computationally-reproducible-results}
721 | }
722 |
723 | @article{rouderWhatWhyHow2016,
724 | title = {The What, Why, and How of Born-Open Data},
725 | author = {Rouder, Jeffrey N.},
726 | year = {2016},
727 | journal = {Behavior Research Methods},
728 | volume = {48},
729 | number = {3},
730 | pages = {1062--1069},
731 | doi = {10.3758/s13428-015-0630-z}
732 | }
733 |
734 | @article{kekecsRaisingValueResearch2019,
735 | title = {Raising the Value of Research Studies in Psychological Science by Increasing the Credibility of Research Reports: The {{Transparent Psi Project}} - {{Preprint}}},
736 | shorttitle = {Raising the Value of Research Studies in Psychological Science by Increasing the Credibility of Research Reports},
737 | author = {Kekecs, Zoltan and Aczel, Balazs and Palfi, Bence and Szaszi, Barnabas and Szecsi, Peter and Zrubka, Mark and Kovacs, Marton and Bakos, Bence E. and Cousineau, Denis and Tressoldi, Patrizio and Grassi, Massimo and Arnold, Dana and Evans, Thomas Rhys and Yamada, Yuki and Miller, Jeremy K. and Liu, Huanxu and Yonemitsu, Fumiya and Dubrov, Dmitrii},
738 | year = {2020},
739 | publisher = {{PsyArXiv}},
740 | doi = {10.31234/osf.io/uwk7y}
741 | }
742 |
743 | @incollection{lanerganSoftwareEngineeringReusable1989,
744 | title = {Software Engineering with Reusable Designs and Code},
745 | booktitle = {Software Reusability: Vol. 2, Applications and Experience},
746 | author = {Lanergan, R. G. and Grasso, C. A.},
747 | year = {1989},
748 | month = jun,
749 | pages = {187--195},
750 | publisher = {{Association for Computing Machinery}},
751 | address = {{New York}},
752 | isbn = {978-0-201-50018-9}
753 | }
754 |
755 | @inproceedings{al-badareenReusableSoftwareComponents2010,
756 | title = {Reusable Software Components Framework},
757 | booktitle = {Proceedings of the {{European}} Conference of Systems, and {{European}} Conference of Circuits Technology and Devices, and {{European}} Conference of Communications, and {{European}} Conference on {{Computer}} Science},
758 | author = {{Al-Badareen}, Anas Bassam and Selamat, Mohd Hasan and Jabar, Marzanah A. and Din, Jamilah and Turaev, Sherzod},
759 | year = {2010},
760 | month = nov,
761 | series = {{{ECS}}'10/{{ECCTD}}'10/{{ECCOM}}'10/{{ECCS}}'10},
762 | pages = {126--130},
763 | publisher = {{World Scientific and Engineering Academy and Society (WSEAS)}},
764 | address = {{Stevens Point, WI}},
765 | isbn = {978-960-474-250-9}
766 | }
767 |
768 | @article{schaffnerFutureScientificJournals1994,
769 | title = {The {{Future}} of {{Scientific Journals}}: Lessons from the {{Past}}},
770 | author = {Schaffner, Ann C.},
771 | year = {1994},
772 | journal = {Information Technology and Libraries},
773 | volume = {13},
774 | number = {4},
775 | pages = {239--47},
776 | issn = {0730-9295}
777 | }
778 |
779 | @article{fitzgeraldTransformationOpenSource2006,
780 | title = {The {{Transformation}} of {{Open Source Software}}},
781 | author = {Fitzgerald, Brian},
782 | year = {2006},
783 | journal = {MIS Quarterly},
784 | volume = {30},
785 | number = {3},
786 | pages = {587--598},
787 | doi = {10.2307/25148740}
788 | }
789 |
790 | @article{chaldecottHistoryScientificTechnical1965,
791 | title = {A {{History}} of {{Scientific}} and {{Technical Periodicals}}: The {{Origins}} and {{Development}} of the {{Scientific}} and {{Technological Press}}},
792 | author = {Chaldecott, J. A.},
793 | year = {1965},
794 | journal = {The British Journal for the History of Science},
795 | volume = {2},
796 | number = {4},
797 | pages = {360--361},
798 | doi = {10.1017/S0007087400002557}
799 | }
800 |
801 | @article{sonnenburgNeedOpenSource2007,
802 | title = {The {{Need}} for {{Open Source Software}} in {{Machine Learning}}},
803 | author = {Sonnenburg, S\"{o}ren and Braun, Mikio L. and Ong, Cheng Soon and Bengio, Samy and Bottou, Leon and Holmes, Geoffrey and LeCun, Yann and M\"{u}ller, Klaus-Robert and Pereira, Fernando and Rasmussen, Carl Edward and R\"{a}tsch, Gunnar and Sch\"{o}lkopf, Bernhard and Smola, Alexander and Vincent, Pascal and Weston, Jason and Williamson, Robert},
804 | title = {The Need for Open Source Software in Machine Learning},
805 | journal = {Journal of Machine Learning Research},
806 | volume = {8},
807 | year = {2007},
808 | number = {81},
809 | pages = {2443--2466}
810 | }
811 |
812 | @manual{officedown,
813 | type = {Manual},
814 | title = {Officedown: Enhanced {{'R Markdown'}} Format for 'Word' and '{{PowerPoint}}'},
815 | author = {Gohel, David and Ross, Noam},
816 | year = {2021}
817 | }
818 |
819 | @manual{officer,
820 | type = {Manual},
821 | title = {Officer: Manipulation of Microsoft Word and {{PowerPoint}} Documents},
822 | author = {Gohel, David},
823 | year = {2021}
824 | }
825 |
826 | @article{decosterOpportunisticBiasesTheir2015,
827 | title = {Opportunistic Biases: Their Origins, Effects, and an Integrated Solution},
828 | shorttitle = {Opportunistic Biases},
829 | author = {DeCoster, Jamie and Sparks, Erin A. and Sparks, Jordan C. and Sparks, Glenn G. and Sparks, Cheri W.},
830 | year = {2015},
831 | journal = {American Psychologist},
832 | volume = {70},
833 | number = {6},
834 | pages = {499--514},
835 | publisher = {{American Psychological Association}},
836 | doi = {10.1037/a0039191}
837 | }
838 |
839 | @article{wichertsDegreesFreedomPlanning2016,
840 | title = {Degrees of {{Freedom}} in {{Planning}}, {{Running}}, {{Analyzing}}, and {{Reporting Psychological Studies}}: A {{Checklist}} to {{Avoid}} p-{{Hacking}}},
841 | author = {Wicherts, Jelte M. and Veldkamp, Coosje L. S. and Augusteijn, Hilde E. M. and Bakker, Marjan and {van Aert}, Robbie C. M. and {van Assen}, Marcel A. L. M.},
842 | year = {2016},
843 | journal = {Frontiers in Psychology},
844 | volume = {7},
845 | pages = {1832},
846 | doi = {10.3389/fpsyg.2016.01832}
847 | }
848 |
849 | @book{hastieElementsStatisticalLearning2017,
850 | title = {The Elements of Statistical Learning: Data Mining, Inference, and Prediction},
851 | shorttitle = {The Elements of Statistical Learning},
852 | author = {Hastie, Trevor and Tibshirani, Robert and Friedman, Jerome H.},
853 | year = {2017},
854 | series = {Springer Series in Statistics},
855 | edition = {Second edition, corrected at 12th printing 2017},
856 | publisher = {{Springer}},
857 | address = {{New York, NY}},
858 | isbn = {978-0-387-84858-7 978-0-387-84857-0},
859 | langid = {english}
860 | }
861 |
--------------------------------------------------------------------------------
/repro-tutorial.Rproj:
--------------------------------------------------------------------------------
1 | Version: 1.0
2 |
3 | RestoreWorkspace: Default
4 | SaveWorkspace: Default
5 | AlwaysSaveHistory: Default
6 |
7 | EnableCodeIndexing: Yes
8 | UseSpacesForTab: Yes
9 | NumSpacesForTab: 2
10 | Encoding: UTF-8
11 |
12 | RnwWeave: knitr
13 | LaTeX: XeLaTeX
14 |
15 | AutoAppendNewline: Yes
16 |
17 | BuildType: Makefile
18 |
--------------------------------------------------------------------------------
/repro_log.R:
--------------------------------------------------------------------------------
1 | # I try to log what I am doing
2 | if(!requireNamespace("remotes"))install.packages("remotes")
3 | remotes::install_github("aaronpeikert/repro")
4 | repro::use_repro_template()
5 | # ISSUE: https://github.com/aaronpeikert/repro/issues/53
6 | # manually add install.Rmd, delete examples
7 | # configure Docker and Make using repro:
8 | repro::check_make()
9 | repro::check_docker()
10 | repro::automate()
11 |
12 | # add git:
13 | repro::check_git()
14 | usethis::use_git()
15 |
16 | # add a readme:
17 | usethis::use_readme_rmd()
18 | # manually edit readme
19 | # add readme to makefile:
20 | repro::automate()
21 | # ISSUE: https://github.com/aaronpeikert/repro/issues/46
22 | system("make docker")
23 | system("make -B DOCKER=TRUE")
24 | # ISSUE: https://github.com/aaronpeikert/repro/issues/54
25 | # changed R version to 4.0.3 in Dockerfile
26 | git2r::add(".", c("Dockerfile", "Makefile", "README.Rmd", "README.md", "install.md", ".repro/Dockerfile_base", ".repro/Makefile_Rmds"))
27 | git2r::commit(".", "add README & build documents")
28 |
29 | # ignore htmls:
30 | usethis::use_git_ignore("*.html")
31 | git2r::add(".", c(".gitignore"))
32 | git2r::commit(".", "ignore htmls")
33 |
34 |
35 | # add a licence:
36 | usethis::use_ccby_license()
37 | git2r::add("." ,"LICENSE.md")
38 | git2r::commit(".", "usethis::use_ccby_license()")
39 |
40 | # add a code of conduct:
41 | usethis::use_code_of_conduct()
42 | # manually edit README.Rmd
43 | git2r::add("." ,"README.Rmd")
44 | git2r::add("." ,"CODE_OF_CONDUCT.md")
45 | system("make DOCKER=TRUE")
46 | git2r::add("." ,"README.md")
47 | git2r::commit(".", "usethis::use_code_of_conduct()")
48 |
49 | # use github:
50 | repro::check_github()
51 | # ISSUE: https://github.com/aaronpeikert/repro/issues/55
52 | usethis::use_github()
53 |
54 | # add autogenerated not so important files:
55 | git2r::add("." , c(".Rbuildignore", "repro-tutorial.Rproj"))
56 | git2r::commit(".", "add autogenerated not so important files")
57 | git2r::push()
58 |
59 | # update repro_log.R:
60 | git2r::add("." , c("repro_log.R"))
61 | git2r::commit(".", "update repro_log.R")
62 | git2r::push()
63 |
64 | # switch to a new branch to plan the content:
65 | git2r::branch_create(git2r::commits()[[1]] ,"plan")
66 | git2r::checkout(branch = "plan")
67 | file.create("manuscript.Rmd")
68 |
69 | usethis::use_git_ignore("*.pdf")
70 |
--------------------------------------------------------------------------------