The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
preregr
forms can be used to generate R Markdown
templates, similar to how the prereg
package can spawn a
number of pre-installed R Markdown templates (see the associated GitHub repo or the CRAN page for
details).
These templates are basically prestructured R Markdown files. This means the user (i.e. you) will only have to add in the (pre)registration content, knitr it, and you have a human- and machine-readable (pre)registration.
To generate a full R Markdown template, that can be rendered as a
stand-alone document, the preregr::form_to_rmd_template()
function can be used with its default settings, so you only have to
specify the form you want to use (one you created, loaded, imported, or
the name of one of the forms that come pre-installed with
preregr
.
::form_to_rmd_template(
preregr"OSFprereg_v1",
file = "C:/Path/To/A/File.Rmd"
);
This will write the R Markdown template to that file. To show how it looks, we’ll save the contents to an object and show a fragment.
<-
rmdTemplate_example ::form_to_rmd_template(
preregr"OSFprereg_v1"
);
### Show the fragment
cat(rmdTemplate_example[45:88], sep = "\n");
#> <!-- and conducted by the Center for Open Science. More -->
#> <!-- information is available at -->
#> <!-- https://www.cos.io/initiatives/prereg, and other templates -->
#> <!-- are available at: https://osf.io/zab38/ -->
#>
#>
#> <!-- Study Information ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
#>
#> ```{r preregr-study_information-item_1-iLOS01, echo=FALSE, results='hide'}
#>
#> ###-------------------------------------------------------------------
#> ### Title
#> ###-------------------------------------------------------------------
#>
#> ### Provide the working title of your study. It may be the same title
#> ### that you submit for publication of your final manuscript, but it
#> ### is not a requirement.
#> ###
#> ### **Example**: Effect of sugar on brownie tastiness.
#> ###
#> ### **More info**: The title should be a specific and informative
#> ### description of a project. Vague titles such as 'Fruit fly
#> ### preregistration plan' are not appropriate.
#>
#> preregrObject <-
#> preregr::prereg_specify(
#> preregrObject,
#> item_1 = "Unspecified"
#> );
#>
#> ```
#>
#> ```{r preregr-study_information-item_2-wbtK3Q, echo=FALSE, results='hide'}
#>
#> ###-------------------------------------------------------------------
#> ### Authors
#> ###-------------------------------------------------------------------
#>
#> preregrObject <-
#> preregr::prereg_specify(
#> preregrObject,
#> item_2 = "Unspecified"
#> );
As can be seen above, part of the (pre)registration information is shown as HTML comments (specifically, the general instructions, the section titles, and the section descriptions), and part is shown as R comments (the item titles, and if provided, the item descriptions). This is then followed by the R code to specify the item content, prefilled with the “Unspecified” text.
The R Markdown template also includes the form itself, specified at the end so as not to confuse the user of the template with a lot of complicated R code right at the top. A fragment of the R form:
cat(rmdTemplate_example[835:850], sep = "\n");
#> headingLevel = 2
#> );
#> ```
#>
#>
#> <!-- Here, the form specification is included. ~~~~~~~~~~~~~~~~~~~~-->
#> <!-- This chunk is executed earlier on though. ~~~~~~~~~~~~~~~~~~~~-->
#>
#> ```{r preregr-formSpecification-xomP2M, echo=FALSE, eval=FALSE}
#>
#> preregrFormSpec <-
#> structure(list(instructions = structure(list(heading = "Introduction",
#> description = "Preregistration is the act of submitting a study plan, ideally also with analytical plan, to a registry prior to conducting the work. Preregistration increases the discoverability of research even if it does not get published further. Adding specific analysis plans can clarify the distinction between planned, confirmatory tests and unplanned, exploratory research.\n\nThis preprint contains a template for the “OSF Prereg” form available from the OSF Registry. An earlier version was originally developed for the Preregistration Challenge, an education campaign designed to initiate preregistration as a habit prior to data collection in basic research, funded by the Laura and John Arnold Foundation (now Arnold Ventures) and conducted by the Center for Open Science. More information is available at https://www.cos.io/initiatives/prereg, and other templates are available at: https://osf.io/zab38/"), row.names = c(NA,
#> -1L), class = "data.frame"), metadata = structure(list(field = c("title",
#> "author", "date", "comments", "version"), content = c("OSF Prereg",
#> "Sara Bowman, Alexander C. DeHaven, Tim Errington ,Tom E Hardwicke, David Thomas Mellor, Brian A. Nosek & Courtney K. Soderberg",
It is also possible to embed the R Markdown template as a fragment in
another R Markdown file. This uses knitr
’s Child
Document functionality. To do this, write the R Markdown template to
a file, but omit the YAML front matter using the
includeYAML
argument (setting it to
FALSE
).
::form_to_rmd_template(
preregr"OSFprereg_v1",
file = "C:/Path/To/Child-document.Rmd",
includeYAML = FALSE
);
Then, in the main R Markdown document where you want to include the
child document (i.e. the R Markdown template), include an empty R chunk
that sets option child
to the path to the file you saved
the template to. For example, to include the template produced with the
call above, we would insert the following chunk:
```{r including-the-child, child = "C:/Path/To/Child-document.Rmd"}
```
You may also want to save a PDF version of the (pre)registration so
that it can be uploaded to a (pre)registration server such as the Open
Science Framework. To do that, you can use preregr::prereg_spec_to_pdf().
For example, using the here::here() function, and assuming
the project directory contains a sub-directory called
prereg
, the following chunk could be included after the
above chunk in the main R Markdown document that included the R Markdown
template (i.e. the chunk shown above):
```{r, preregistration-export}
preregr::prereg_spec_to_pdf(
preregrObject,
file = here::here("prereg", "registration-1---preregistration.pdf"),
author = rmarkdown::metadata$author
);
```
The last argument, author = rmarkdown::metadata$author
,
inserts the author specified in the main R Markdown document as the
preregistration author in the PDF.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.