Question

RStudio automatically recognizes headers in an R script that are set via comments:

enter image description here

I would like to exploit that feature, but I don't quite understand what the rules are for RStudio to recognize them as headers. Can someone explain?

Was it helpful?

Solution

Check out Code Folding and Sections:

Code sections allow you to break a larger source file into a set of discrete regions for easy navigation between them. Code sections are automatically foldable—for example, the following source file has three sections (one expanded and the other two folded):

To insert a new code section you can use the Code -> Insert Section command. Alternatively, any comment line which includes at least four trailing dashes (-), equal signs (=), or pound signs (#) automatically creates a code section. For example, all of the following lines create code sections:

# Section One ---------------------------------
# Section Two =================================
### Section Three #############################

Note that as illustrated above the line can start with any number of pound signs (#) so long as it ends with four or more -, =, or # characters.

(highlights by myself)

OTHER TIPS

RStudio seems to recognize subheaders when they lie within functions. For example:

# SECTION ONE -----------------------------------------------------------------

testfunc <- function(input1,input2,input3){

# SUBSECTION ONE --------------------------------------------------------------
# SUBSECTION TWO --------------------------------------------------------------
  ss2func <- function(x1,x2,x3){

  }
}

# SECTION TWO -----------------------------------------------------------------

It's kind of ugly but if you want a subsection to fold up inside the section but also be foldable on its own you can use curly braces at either end of the subsection.

# SECTION ONE --------------------------------------------------------------
y <- 11:20

{# SUBSECTION ONE ----------------------------------------------------------
x <- 1:10
}   

# SECTION TWO --------------------------------------------------------------

This way you can have subsection one folded while still seeing the code in section one. But if you fold section one subsection one will also be closed.

Licensed under: CC-BY-SA with attribution
Not affiliated with datascience.stackexchange
scroll top