iBetter Books
수정

두 언어의 철학

R과 Python은 모두 데이터 분석에 널리 쓰이지만, 태어난 배경이 다릅니다. R은 통계학자가 만든 언어이고, Python은 범용 프로그래밍 언어입니다. 이 차이가 문법, 생태계, 커뮤니티 전반에 영향을 미칩니다.

"어떤 언어가 더 좋은가"가 아니라 "어떤 상황에 어떤 언어가 더 적합한가"를 이해하는 것이 중요합니다.

한눈에 보는 비교 테이블

항목 R Python
태생 통계 분석용 범용 프로그래밍
데이터 조작 dplyr (tidyverse) pandas
시각화 ggplot2 matplotlib, seaborn
통계 분석 내장 stats + 2만여 패키지 scipy, statsmodels
머신러닝 caret, tidymodels scikit-learn, PyTorch
웹 개발 Shiny (대시보드) Django, FastAPI, Streamlit
인터랙티브 분석 RStudio Jupyter Notebook
패키지 관리 install.packages() pip install
할당 연산자 <- (또는 =) =
인덱싱 1부터 시작 0부터 시작
파이프 %>% 또는 |> 메서드 체이닝 .

데이터 조작 비교: pandas vs dplyr

같은 작업을 pandas와 dplyr로 수행해봅니다. "2026년 서울 데이터에서 지역별 매출 합계를 구하라"는 요청입니다.

Python (pandas)

import pandas as pddf = pd.read_csv("sales.csv")result = (df[df["year"] == 2026]          .groupby("region")["revenue"]          .sum()          .reset_index())

R (dplyr)

library(dplyr)
library(readr)

df <- read_csv("sales.csv")
result <- df %>%
  filter(year == 2026) %>%
  group_by(region) %>%
  summarise(total = sum(revenue))

두 코드 모두 같은 결과를 냅니다. pandas는 메서드 체이닝(.)으로, dplyr은 파이프(%>%)로 연결합니다. dplyr은 동사형 함수(filter, group_by, summarise)를 사용해서 "무엇을 하는지"가 코드에 그대로 드러납니다.

시각화 비교: matplotlib vs ggplot2

Python (matplotlib + seaborn)

import matplotlib.pyplot as pltimport seaborn as snssns.scatterplot(data=mpg, x="displ", y="hwy", hue="class")plt.title("엔진 배기량과 연비")plt.xlabel("배기량")plt.ylabel("고속도로 연비")plt.show()

R (ggplot2)

library(ggplot2)

ggplot(mpg, aes(x = displ, y = hwy, color = class)) +
  geom_point() +
  labs(title = "엔진 배기량과 연비", x = "배기량", y = "고속도로 연비") +
  theme_minimal()

ggplot2는 +로 레이어를 쌓는 방식입니다. 데이터(ggplot), 기하 객체(geom_point), 테마(theme_minimal)를 조합하는 구조가 명확합니다.

R을 선택해야 하는 경우

  • 통계 분석이 핵심인 프로젝트 (논문, 연구, 임상시험)
  • 출판 품질 그래프가 필요한 경우 (ggplot2의 강점)
  • 재현 가능한 분석 보고서를 작성해야 하는 경우 (R Markdown, Quarto)
  • CRAN의 전문 패키지가 필요한 경우 (생존 분석, 메타 분석 등)
  • 대학 수업이나 연구실에서 R을 표준으로 사용하는 경우

Python을 선택해야 하는 경우

  • 웹 개발, 자동화, API 서버 등 범용 프로그래밍이 필요한 경우
  • 딥러닝(PyTorch, TensorFlow)이 핵심인 프로젝트
  • 이미 Python 생태계에 익숙한 팀에서 일하는 경우
  • 데이터 파이프라인부터 배포까지 하나의 언어로 통일하고 싶은 경우

둘 다 배우면

실무에서는 R과 Python을 함께 사용하는 경우도 많습니다. Python으로 데이터 파이프라인을 구축하고, R로 통계 분석과 시각화를 수행하는 것은 흔한 조합입니다. reticulate 패키지를 사용하면 R에서 Python 코드를 직접 호출할 수도 있습니다.

이 교재에서 R을 배운 뒤에는 두 언어의 장점을 상황에 맞게 선택할 수 있게 됩니다.