핵심 요약
- R의 파이프 연산자는 2012년 스택오버플로의 한 질문과 초기 `chain` 함수 구현에서 시작되었습니다.
- 스테판 바체가 화가 르네 마그리트의 그림에서 착안해 만든 `magrittr` 패키지의 `%>%`가 타이핑 편의성 덕분에 `dplyr`에 공식 채택되었습니다.
- 이후 RStudio의 단축키 지원과 함께 `%>%`는 R 데이터 전처리의 표준 문법으로 자리 잡았습니다.
요약 R 언어에서 데이터를 연쇄 처리할 때 필수적인 파이프 연산자(`%>%`)의 탄생 과정은 2012년 1월 한 스택오버플로(Stack Overflow) 질문에서 출발했습니다. 당시 한 익명 사용자가 F#의 파이프 연산자를 R에서 어떻게 구현할 수 있는지 물었고, 벤 볼커(Ben Bolker)가 당일 `%>% <- function(x, f) do.call(f, list(x))`라는 간단한 코드로 첫 파이프 형태를 제시했습니다. 같은 해 4월에는 피터 메일스트럽(Peter Meilstrup)이 `ptools`(이후 `vadr`로 개명) 패키지에서 `chain` 함수를 공식적으로 도입했습니다.
파이프 대중화의 전기를 마련한 것은 해들리 위컴(Hadley Wickham)의 `dplyr`였습니다. 2012년 10월 시작된 `dplyr`는 함수를 안쪽부터 바깥쪽으로 겹쳐 써야 했던 기존 방식의 가독성 문제를 해결하기 위해 2013년 10월 `chain` 함수와 함께 `%.%` 연산자를 도입했습니다.
하지만 `%.%` 연산자는 오래가지 못했습니다. 2013년 12월 말 스테판 바체(Stefan Bache)가 스택오버플로 질문에 새로운 대안을 제안하며 깃허브에 `plumbr` 패키지를 공개했고, 이틀 뒤 르네 마그리트의 유명 그림 '이미지의 배반(이것은 파이프가 아니다)'에서 이름을 딴 `magrittr`로 개명하며 `%>%` 연산자를 세상에 선보였습니다.
2014년 1월 RStudio 블로그의 `dplyr` 출시 발표 댓글을 통해 스테판 바체가 해들리 위컴에게 `magrittr` 연산자를 알렸고, 결국 `dplyr`는 Shift 키를 누른 상태에서 입력하기 훨씬 편리하다는 이유로 `magrittr`의 `%>%`를 공식 채택했습니다. 2014년 8월 기존 `%.%`는 폐기(deprecated)되었으며, RStudio IDE 역시 단축키(초기 Shift+Alt+.에서 현재의 Ctrl+Shift+M)를 도입하며 `%>%`는 R 생태계의 표준으로 확고히 자리 잡았습니다. 이후 2014년 `%>>%`를 도입한 `pipeR`, 2018년 `%.>%`를 선보인 `wrapr` 등 다양한 변형 시도들도 이어졌습니다.
Sponsored · 광고