RStudio 에서 R 기본 파이프(pipe) 연산자로 단축키 셋팅하기

R 언어에서 pipe는 데이터를 효과적으로 전달하고 조작하는데 사용되는 연산자이다. R에서 가장 널리 사용되는 파이프 연산자는 magrittr 패키지의 %>% 기호이고, 데이터를 연속적으로 다루는데 효과적이다. 파이프 연산자는 일반적으로 함수를 연결하여 코드를 더 읽기 쉽게 만들어주고 중첩된 함수 호출을 방지한다. 개인적으로는 파이프를 사용하면 데이터 처리 단계를 자연스럽게 나타낼 수 있어 코드 가독성이 좋다고 생각한다.

pipe 연산자를 사용하지 않는 경우, 아래와 같이 중간마다 변수명을 지정해서 단계별로 로직을 풀어가야 한다. 아니면 그게 싫다고 한줄 코딩을 하려고 하면 코드 가독성은 현저히 떨어진다.

# 1. 단계별 중간변수 지정
t1 = enframe(c(4,8,2,9), name = NULL)
t2 = filter(t1, value > 5)
t3 = summarise(t2, total = sum(value))

# 2. 아니면 한줄 코딩
summarise(filter(enframe(c(4,8,2,9), name = NULL), 
                 value > 5), 
          total = sum(value))

# 결과
# A tibble: 1 × 1
  total
  <dbl>
1    17

하지만, magrittr 패키지의 %>% 연산자를 사용하면 아래와 같이 코드가 간결해진다.

enframe(c(4,8,2,9), name = NULL) %>% 
  filter(value > 5) %>% 
  summarise(total = sum(value))

# A tibble: 1 × 1
  total
  <dbl>
1    17

R 기본 파이프

magrittr 같은 외부 라이브러리 설치 없이 R 4.1+ 버전 부터 기본적으로 파이프 기능을 하는 |> 연산자가 추가되었다. 이런 모양을 생각하고 만든게 아닌가 싶다.

enframe(c(4,8,2,9), name = NULL) |> 
  filter(value > 5) |> 
  summarise(total = sum(value))

RStudio 에서는 파이프연산자를 Shift+Command+M 단축키로 제공하고 있는데, %>% 에서 |> 로 변경하고 싶다면 설정에서 변경할 수 있다. [Tools]-[Global Options] 메뉴로 들어가서, Code 탭 옵션 중에 Use native pipe operator, |> (requires R 4.1+) 체크표시를 해주면 끝이다.

r 

더 보면 좋을 글들