'How to set default template for new ".R" files in rstudio

Background:
I like 'r'. I use Rstudio for it - it is a nice IDE. I use the revolution Analytics version of 'r', "revolution R Open".

I find that I type the same stuff in the annotation and structured programming regularly, and I want to save myself the re-typing.

Question:
How do I change the default file template so that the one I want, with some text already populated, comes up when I create a new blank R-script in Rstudio.

Clarifications:

  • I am not looking for this to be a manual process where I open one file, renaming it to a proper directory, and then work on it. I am looking to change the default so that this happens automatically.

Previous approach:

  • google
  • rstudio search (example)
  • search on stack-overflow
  • poking around rstudio menus/preferences

Thanks.



Solution 1:[1]

Quite late and not really a template but I think the solution is close: go to

Tools => Global Options => Code => Tab Editing => Snippets "Edit Snippets".

Example:

snippet header2
    # Author:
    # Date: `r paste(date())`
    # --------------
    # Author:
    # Date:
    # Modification:
    # --------------

If you then type header {snippet} in a new script you get the text above with the date inserted automatically.

Solution 2:[2]

As you are asking specifically for a Windows solution, you create a templates folder (AppData/Roaming/RStudio/templates) and edit the default.R file.

# Create a templates folder
fs::dir_create(path = "~/AppData/Roaming/RStudio/templates")

# Create the file
fs::file_create("~/AppData/Roaming/RStudio/templates/default.R")

# Open the file in RStudio to edit it
usethis::edit_file("~/AppData/Roaming/RStudio/templates/default.R")

Now you can save the populated file and have created your new default R Script. Another possibility to not only keep this default template on your local machine would be to write a package for the sole purpose of containing a set of standardized default templates. I've written a short post about it here.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2 Lukas Gröninger