Jupyter notebook 에서 R을 이용하기


데이터 분석을 할 때, PythonR을 동시에 이용하시는 분들이 많습니다.

저 같은 경우도 머신러닝, 딥러닝 등을 할 때는 Python을, 데이터 처리, 가공, 통계분석을 할 때는 R을 선호하는데요. 이 경우 Jupyter notebook 등의 Python 개발 환경과 R studio 를 번갈아가면서 이용해야해서 불편한 점이 많았습니다. 


본 포스팅에서는 Jupyter notebook이라는 하나의 개발 환경에서 R과 Python을 같이 이용할 수 있게 해주는 IRkernel을 설치하는 것을 포스팅해보았습니다.


IRkernel을 이용하면 Jupyter notebook에서도 현재 컴퓨터에 설치된 R 커널을 이용할 수 있게 해줍니다.

IRkernel은 R 커널을 Jupyter notebook에서 이용할 수 있게 해주는 패키지입니다. 

https://github.com/IRkernel/IRkernel


우선 당연히 선행적으로 Jupyter가 설치되어있어야하며,


주의할 점은 conda 가상환경 쓰시는 분들은

이걸 jupyter notebook이 설치된 conda 가상환경을 키고 IRkernel 설치를 진행하여야합니다.


먼저 devtools를 설치합니다.

install.packages('devtools')


다음 devtools를 이용해 IRkernel을 설치합니다.


devtools::install_github('IRkernel/IRkernel')

# or devtools::install_local('IRkernel-master.tar.gz')

IRkernel::installspec()  # to register the kernel in the current R installation



이렇게 R kernel이 생기게 됩니다.



저는 R version 3.5.1을 이용중이었는데 동일한 버전을 Jupyter notebook에서도 이용할 수 있습니다.


---- 추가 (2020-09-28)

conda install r-irkernel

위 conda 커맨드로 anaconda 가상환경 밑에 R 과 IRKernel 을 동시에 설치할 수도 있습니다. 


특정 R 버전에 설치하기 위해서는 아래 참고 (2020-10-16 추가)

http://salvatoregiorgi.com/blog/2018/10/16/installing-an-older-version-of-r-in-a-conda-environment/

  • 데이터사이언티스트꿈나무 2019.07.29 21:52

    안녕하세요. R사용하다가 현재는 파이썬 공부중인 학생입니다. 요즘 파이썬 공부하면서 느낀점은 파이썬의 datetiem객체가 너무 불편하다는 점입니다. R lubridate는 정말 편한 반면에요. 그 밖에도 pandas 문법이 tidyverse보다 불편하기도 하고 등등 머신러닝/딥러닝 제외하면 아무리 생각해도 R이 편한 것 같습니다.

    • Deepplay 2019.08.02 16:19 신고

      네 동의하는 바입니다. 저도 tabular 형식 데이터 프로세싱과 통계 분석을 할 때는 R 을 주로 사용하고 있습니다. 하지만 분석 내용 토대로 어플리케이션을 구축하는 목적에서는 일반 프로그래밍 언어인 파이썬이 강점이 있는것 같습니다.

  • QA 2019.08.05 21:28

    R과 파이썬을 선택하려고하면 어떤것을 선택하고 시작하는것을 추천드리나요? 전산통계전공이고 파이썬과 R 등 프로그래밍경험이 있고 통계과목들을 수강한 베이스입니다.

    • Deepplay 2019.08.06 17:50 신고

      안녕하세요. R과 Python 중에 무엇을 선택하냐는 문제는 이 언어들을 통해 무엇을 하느냐에 따라 다르다고 생각합니다. 논문, 프로젝트 등을 위한 데이터처리/통계 분석에는 R 이 강점이 있고, 딥러닝/머신러닝 모형 구축/어플리케이션 구현에는 Python 이 강점이 있습니다.

      전산통계 전공이시고, 데이터 과학 관련 공부, 프로젝트가 목적이라면 R로 시작하는 것을 추천드립니다. R 이 데이터과학분야의 전통 언어라고 볼 수 있어 기본 함수 (base, stat) 가 잘되어있고, 데이터처리 패키지에 있어서는 강력한 패키지 (tidyverse 등) 들이 많기 때문에 시작하기 쉽습니다. R을 일정수준이상 다룰 수 있으면 Python 도 쉽게 할 수 있다고 생각합니다.

  • python and R 2019.08.13 16:34

    rstudio 안에서 rpython을 이용하는 방식처럼 jupyter notebook 안에서 Rpy2을 쓰면서 서로 같이 쓰시는건가요??! 아니면 R이랑 python 스크립트 창을 따로 만들어야하는데 어떻게 같이 번갈아가면서 쓰는지 궁금합니다.

    • Deepplay 2019.08.17 13:32 신고

      안녕하세요. R과 Python 을 같이 쓴다는 것이 같은 개발환경에서 R과 Python 을 같이 쓴다는 의미였습니다! 제 경우에는 rpy2 는 현재는 쓰지 않고 있고, R 커널을 실행할 수 있는 스크립트 창을 따로만들어서 쓰고 있습니다.