프로그래밍을 할 때 주석을 달아 여러가지 정보를 전달할 수 있습니다. 물론 주석으로 설명하는 것보다 좋은 것은 명확한 코드를 작성하는 것이겠지만요. 어쨌든 R의 경우 #를 사용해 주석을 남깁니다. R에서 주석의 또다른 용도가 있습니다. 바로 뒤에 - 또는 =를 길게 사용하여 코드를 분해하는 것입니다. 마치 글을 작성할 때 TOC (Table of contents)를 작성하는 것처럼 주석을 이용하면 길고 복잡한 R 코드의 섹션을 나눠볼 수 있습니다.

# library -----------------------------------------------------------------
library(dplyr)
library(forecast)

# data --------------------------------------------------------------------
data <- iris$Sepal.Length

# function 1 --------------------------------------------------------------
function1 <- function(x) {
  mean(x) + median(x)
}

# result ------------------------------------------------------------------
function1(x = data)

Rstudio는 위와같은 Section label을 만드는 단축키(Cmd/Ctrl + Shift + R)를 제공합니다. 필자의 경우 따로 단축키를 사용하지 않고 ----를 딱 4개만 쓰는 습관을 가지고 있습니다. 이는 4개 이상만 되면 Section label의 기능을 할 수 있기 때문입니다. (당연히 단축키를 사용하든 본인이 직접 작성하든 본인의 선택입니다.)

Rstudio에는 이러한 Section label을 인식하여 조그마한 TOC(Table of contents)를 만들어주는 기능을 내장하고 있습니다. Source editor 오른쪽 윗부분을 클릭하면 다음과 같이 Section을 보여줍니다.

이 기능이 가장 빛을 발하는 순간은 바로 장문의 스크립트를 작성할 때 입니다. 특히 R을 이용해 Shiny와 같은 반응형 애플리케이션을 제작할 때 ui와 server를 수시로 왔다갔다 하며 코딩을 해야하는데 적절한 labeling을 해놓음으로써 마우스 휠을 돌려야하는 손가락과 그걸 찾아야 하는 안구의 피로도를 감소시킬 수 있습니다.

물론 긴 코드나 함수를 패키지화 시킨다던지, Shiny의 경우 모듈화를 하는 방법이 조금 더 근본적인 방법이겠지만요.