데이터 분석과 통계에 특화된 프로그래밍 언어인 R은 배우기 쉽고 강력한 기능을 갖춘 도구입니다. 특히 데이터 시각화, 통계 모델링, 머신러닝 등의 분야에서 널리 쓰이고 있어, 관련 직군을 목표로 하는 분들이라면 꼭 익혀야 할 언어입니다.
이 글에서는 R을 처음 접하는 분들을 위해 꼭 알아야 할 기초 문법을 4개의 핵심 주제로 나누어 소개합니다.
1. 변수와 데이터 타입
R에서 변수를 만들 때는 <- 기호를 사용합니다. 물론 = 기호도 쓸 수 있지만, R 커뮤니티에서는 <- 사용을 권장합니다.
x <- 10
name <- "R 프로그래밍"
is_true <- TRUE
R의 주요 데이터 타입은 다음과 같습니다:
- 숫자형(numeric): 3, 4.5
- 문자형(character): "hello", 'R is fun'
- 논리형(logical): TRUE, FALSE
- 벡터(vector): 동일한 타입의 여러 값을 저장하는 기본 단위
- 리스트(list): 서로 다른 타입을 담을 수 있는 구조
벡터를 만들려면 c() 함수를 사용합니다.
numbers <- c(1, 2, 3, 4, 5)
names <- c("Alice", "Bob", "Charlie")
2. 조건문과 반복문
R도 다른 언어와 마찬가지로 조건문과 반복문을 지원합니다.
조건문 (if / else):
score <- 85
if (score >= 90) {
print("A")
} else if (score >= 80) {
print("B")
} else {
print("C 이하")
}
# for문
for (i in 1:5) {
print(i)
}
# while문
count <- 1
while (count <= 3) {
print(paste("현재 count:", count))
count <- count + 1
}
R에서는 벡터화 연산이 강력하기 때문에 반복문을 최소화하고 apply() 함수나 tidyverse 패키지를 활용하는 것이 좋습니다.
3. 함수와 내장 함수
R에서는 함수를 정의하고, 직접 만들어 사용할 수 있습니다.
add <- function(a, b) {
result <- a + b
return(result)
}
add(3, 7) # 결과: 10
R에는 다양한 내장 함수가 있어 초보자도 쉽게 데이터를 다룰 수 있습니다.
- sum(): 합계
- mean(): 평균
- length(): 데이터 개수
- max(), min(): 최댓값, 최솟값
- sort(): 정렬
x <- c(5, 2, 8, 1)
mean(x) # 평균값
sort(x) # 정렬된 벡터
4. 데이터 프레임과 기초 시각화
데이터 프레임(Data Frame)은 행과 열로 구성된 표 형태의 데이터를 저장하는 구조로, R에서 가장 많이 사용하는 데이터 구조 중 하나입니다.
df <- data.frame(
name = c("Tom", "Jerry", "Spike"),
age = c(25, 22, 30),
score = c(85, 90, 78)
)
print(df)
기초적인 시각화는 plot(), hist(), barplot() 같은 내장 함수로 시작할 수 있습니다.
# 산점도
plot(df$age, df$score)
# 히스토그램
hist(df$score)
# 막대그래프
barplot(df$score, names.arg = df$name)
더 풍부한 시각화를 원한다면 ggplot2 패키지를 사용하는 것이 좋지만, R 기본 문법 단계에서는 위 함수들만으로도 충분히 시각화 연습이 가능합니다.
마무리
R은 처음에는 생소할 수 있지만, 데이터 분석에 특화된 문법 덕분에 실제 업무에 빠르게 적용할 수 있는 강력한 도구입니다. 위에서 소개한 기초 문법은 R의 세계로 들어가는 첫걸음일 뿐이고, 익숙해지면 통계 분석, 머신러닝, 시각화 등 다양한 확장도 가능합니다.
R을 통해 데이터를 자유자재로 다룰 수 있는 즐거움을 경험해보세요!
'AI' 카테고리의 다른 글
메타버스와 NFT의 만남: 디지털 자산 혁명 시작됐다 (0) | 2025.04.30 |
---|---|
인공지능이 바꾸는 교육의 미래, 현실 적용 사례 (0) | 2025.04.27 |
AI 스타트업 성공사례 분석 – 미래 산업 인사이트 (0) | 2025.04.25 |
딥러닝 vs 머신러닝, 뭐가 다를까? 한눈에 정리 (0) | 2025.04.23 |
AI 기반 마케팅 자동화 툴, 블로그에 활용하는 법 (0) | 2025.04.23 |