R 코드 스니펫 (Code Snippets)

Author

Leanne Vicente

Published

May 15, 2023

코드 스니펫(Code Snippets)은 자주 사용하는 코드 뭉치를 빠르게 삽입할 수 있게 해주는 텍스트 매크로입니다. (SAS Studio의 스니펫 옵션과 유사합니다). 반복되는 코드를 일일이 타이핑하지 않아도 되므로 시간을 대폭 절약할 수 있습니다.

1. 개요

RStudio 메뉴의 Tools -> Global Options -> Code -> Edit Snippets에서 등록된 스니펫을 확인하고 편집할 수 있습니다.

2. 스니펫 사용법

스크립트나 RMarkdown 파일에서 스니펫의 이름을 입력하기 시작하면 자동 완성 목록이 나타납니다. 예를 들어, fun을 입력하고 TAB 키를 누르면 아래와 같은 함수 구조가 즉시 삽입됩니다.

# 'fun' 입력 후 TAB 결과
name <- function(variables) {
  
}
  • 자리 표시자(Placeholder): 스니펫 삽입 후 변수명 등이 하이라이트됩니다. 내용을 입력하고 TAB 키를 누르면 다음 입력 위치로 바로 이동합니다.
  • 수동 실행: 자동 완성 목록이 뜨지 않는다면 Shift + TAB을 눌러 강제로 스니펫을 호출할 수 있습니다. (RMarkdown 모드에서는 이 방식이 필요할 수 있습니다.)

3. 자주 쓰이는 내장 스니펫

  1. lib: library() 호출
  2. req: require() 호출
  3. src: source() 호출
  4. df: 데이터 프레임 정의
  5. if, el, ei: 조건문 (if, else, else if)
  6. apply, lapply, sapply: apply 계열 함수

4. 나만의 스니펫 만들기

자주 사용하는 패키지 로드 세트나 전용 그래프 템플릿을 스니펫으로 만들어두면 매우 편리합니다.

  • 편집 방법: usethis 패키지의 edit_rstudio_snippets(type = "r") 함수를 실행하여 편집창을 열 수 있습니다.
  • 문법:
    • snippet 키워드로 시작하고 이름을 지정합니다.
    • 다음 줄부터는 반드시 TAB으로 들여쓰기를 해야 합니다. (공백 사용 금지)
    • ${1:name} 형식으로 자리 표시자를 지정할 수 있습니다.

예시: 스크립트 헤더 템플릿

프로그램의 목적, 작성자, 날짜 등을 기록하는 표준 헤더를 만들어 보세요.

snippet myheader
    ######################################################################
    # 목적: ${1:분석_목적}
    # 작성자: ${2:이름}
    # 날짜: 2026-02-20
    # 입력 데이터: ${3:data.xpt}
    ######################################################################

이제 스크립트 상단에서 myheader를 입력하고 TAB을 누르면 미리 정의된 양식이 나타납니다.

5. 그래프 템플릿 스니펫

자주 사용하는 ggplot2 옵션들을 스니펫으로 만들어두면 시각화 작업이 훨씬 빨라집니다.

# 예시: 나만의 표준 막대 그래프 스니펫
ggplot(${1:data}, aes(x = ${2:x_var}, y = ${3:y_var})) + 
  geom_col(fill = "steelblue") +
  theme_minimal() +
  labs(title = "${4:제목}", x = "${5:x축}", y = "${6:y_var}")

참고 자료