R-Blogger블로그·해설한국어2026-01-10
rtopy: R에서 Python으로 연결 다리 — 새소식
rtopy: R과 Python을 연결하는 브릿지 – 새로움 개요 rtopy는 R에서 Python 객체를 손쉽게 호출하고, Python에서는 R 객체를 사용할 수 있도록 해주는 패키지입니다. 기존의 reticulate와 유사하지만, 몇 가지 새로운 기능과 편리한 API를 제공합니다. 설치 CRAN에서 설치하려면: install.packages("rtopy") 개발 버전을 설치하려면 GitHub를 이용합니다: remotes::install_github("R-Forge/rtopy") 기본 사용법 Python 환경을 설정하려면 py_init() 함수를 호출합니다. 이후 py_eval()로 Python 코드를 실행하거나, py_run_file()로 스크립트를 실행할 수 있습니다. # Python 세션 초기화 py_init() # Python 코드 실행 py_eval("x = 10 + 20") py_eval("print(x)") # R 객체를 Python에 넘기기 py_set("r_vec", r_vec) # Python에서 반환된 객체를 R로 가져오기 py_get("py_list") 새로운 기능 자동 타입 변환 – R과 Python 사이의 데이터 타입 변환이 더 간편해졌습니다. 예를 들어, data.frame은 자동으로 pandas.DataFrame으로 변환됩니다. 동적 모듈 로딩 – py_import() 함수를 사용하면 원하는 Python 모듈을 바로 불러올 수 있습니다. 모듈이 없으면 설치까지 시도합니다. 멀티스레드 지원 – Python에서 멀티스레드 작업을 수행할 때, R과의 동기화가 자동으로 처리됩니다. 문자열 포맷팅 개선 – Python 코드 안에서 R 변수를 삽입할 때 paste0() 대신 py_fmt()를 사용할 수 있습니다. 사례 다음은 R에서 머신러닝 모델을 학습하고, Python에서 시각화하는 예시입니다. # R에서 모델 학습 library(caret) model <- train(Species ~ ., data=iris, method="rf") # 모델 객체를 Python에 넘기기 py_set("rf_model", model) # Python에서 matplotlib로 시각화 py_eval(" import matplotlib.pyplot as plt import seaborn as sns # R에서 넘긴 데이터프레임 사용 df = r_dataframe sns.pairplot(df, hue='Species') plt.show() ") 자주 묻는 질문(FAQ) Python 버전은 어떻게 선택하나요? py_init()에 python_version 인자를 지정하면 해당 버전을 사용합니다. 예: py_init(python_version = '3.9') 패키지 충돌이 생기면 어떻게 하나요? Python 가상 환경을 별도로 만들고 py_init(env_path="path/to/venv")로 지정하면 충돌을 피할 수 있습니다. 데이터 전송 속도가 느리면? 큰 데이터 프레임을 전송할 때는 py_set_numpy()를 사용해 NumPy 배열로 바로 넘기는 것이 빠릅니다. 참고 자료 CRAN 패키지 페이지 GitHub 저장소 Python 공식 문서 reticulate 패키지 문서
원문 URL
전체 글은 원문 페이지에서 이어서 읽을 수 있습니다.
- 작성자
- R-Blogger
- 출처
- R-Blogger
- 플랫폼
- R-Blogger
- 분류
- 블로그·해설
- 언어
- 한국어
- 발행일
- 2026-01-10