Rules by which RStudio sets Headings
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.