데이터 분석의 첫 단계는 데이터를 R로 불러오는 것이다. 엑셀에서 파일을 여는 것처럼 간단해 보이지만 데이터 형식에 따라 불러오는 방식이 다르고 필요한 패키지도 다르기 때문에 초보자에게는 다소 어려울 수 있다. CSV, 엑셀(XLSX), 텍스트(TXT), SPSS, JSON 같은 다양한 파일을 다루려면 파일마다 알맞은 함수를 사용하는 것이 중요하다.
R에서 자주 사용되는 대표적인 데이터 파일 형식 다섯 가지를 불러오는 방법을 예제 중심으로 소개한다. 각각의 데이터셋은 동일한 구조를 가진 학생 성적표이며, 이를 다양한 포맷으로 저장해 불러오는 실습을 진행한다.
예제 데이터 설명
다음과 같은 구조의 데이터가 있다고 가정하자. 이 데이터는 세 명의 학생 이름과 점수를 기록한 단순한 성적표이다.
name | score |
---|---|
Alice | 85 |
Bob | 90 |
Charlie | 78 |
이 데이터를 각각 다음과 같은 파일로 저장해두었다고 가정한다.
포맷 | 파일명 |
---|---|
CSV | student.csv |
XLSX | student.xlsx |
TXT | student.txt |
SPSS | student.sav |
JSON | student.json |
모든 파일은 사용자 컴퓨터의 “문서” 폴더(예: ~Documents)에 위치해 있다고 가정한다.
CSV 파일 불러오기
CSV(Comma Separated Values) 형식은 가장 보편적인 텍스트 기반 데이터 형식으로 엑셀이나 데이터베이스에서도 쉽게 저장하고 불러올 수 있다.
# readr 패키지 설치 및 로드
install.packages("readr")
library(readr)
# 파일 경로 설정
csv_path <- "~/Documents/students.csv"
# CSV 파일 불러오기
csv_data <- read_csv(csv_path)
# 데이터 확인
print(csv_data)
Rread_csv( )는 데이터의 열 이름과 데이터 타입을 자동으로 인식하며, 처리 속도도 매우 빠르다.
XLSX 파일 불러오기
엑셀 파일은 업무 현장에서 가장 많이 사용되는 데이터 포맷 중 하나이다. R에서는 readxl 패키지를 이용해 .xlsx 파일을 간편하게 불러올 수 있다.
# readxl 패키지 설치 및 로드
install.packages("readxl")
library(readxl)
# 파일 경로
xlsx_path <- "~/Documents/students.xlsx"
# 엑셀 파일 불러오기
xlsx_data <- read_excel(xlsx_path)
# 데이터 확인
print(xlsx_data)
R특정 시트를 불러오고 싶다면 sheet = “sheet1″처럼 시트 이름을 지정할 수도 있다.
텍스트 파일(TXT) 불러오기
.txt 형식의 파일은 구분자(delimiter)만 알면 쉽게 불러올 수 있다. 일반적으로는 탭(\t
)이나 공백 또는 세미콜론(;)이 구분자로 사용된다.
library(readr)
txt_path <- "~/Documents/students.txt"
# 탭 구분자 사용 시
txt_data <- read_delim(txt_path, delim = "\t")
print(txt_data)
R다른 구분자를 사용할 경우 delim = ” , ” 또는 delim = ” ; ” 로 변경해주면 된다.
SPSS 파일 불러오기
SPSS는 통계 소프트웨어로 널리 사용되며, .sav 형식의 파일을 저장한다. R에서는 haven 패키지를 이용하여 SPSS 파일을 불러올 수 있다.
# haven 패키지 설치 및 로드
install.packages("haven")
library(haven)
spss_path <- "~/Documents/students.sav"
# SPSS 파일 불러오기
spss_data <- read_sav(spss_path)
print(spss_data)
R불러온 데이터는 tibble 형식으로 변환되며, 변수에 레이블(label) 정보가 포함될 수도 있다. 필요하다면 as_factor( ) 함수를 사용해 범주형 변수로 변환할 수 있다.
JSON 파일 불러오기
JSON(JavaScript Object Notation)은 웹 API와 서버 간 데이터 교환에 자주 쓰이는 포맷이다. R에서는 jsonlite 패키지의 fromJSON( ) 함수를 이용해 JSON 데이터를 불러올 수 있다.
install.packages("jsonlite")
library(jsonlite)
json_path <- "~/Documents/students.json"
# JSON 파일 불러오기
json_data <- fromJSON(json_path)
print(json_data)
RJSON은 중첩된 구조를 가질 수 있으므로, 복잡한 데이터를 다룰 때는 구조를 먼저 str(json_data)로 살펴보는 것이 좋다. 경우에 따라 flatten = TRUE 옵션을 사용할 수도 있다.
출력 예시
위 모든 방식으로 불러온 데이터는 동일한 구조를 가지며, 아래와 같이 출력된다.
# A tibble: 3 × 2
name score
<chr> <dbl>
1 Alice 85
2 Bob 90
3 Charlie 78
R요약 정리
파일 형식 | 불러오기 함수 | 사용 패키지 |
---|---|---|
CSV | read_csv( ) | readr |
XLSX | read_excel( ) | readxl |
TXT | read_delim( ) | readr |
SPSS | read_sav( ) | haven |
JSON | fromJSON( ) | jsonlite |
마무리하며
파일을 제대로 불러오는 것은 데이터 분석의 첫 단추이다. 형식에 따라 적절한 패키지와 함수를 사용하는 것이 중요하며, 데이터가 잘 불러와졌는지 항상 확인해야 한다.
1. 경로 지정 시 주의
macOS와 Linux에서는 ~/Documents, Windows에서는 “C:/Users/사용자명/Documents” 형식을 사용한다.
2. 한글 경로/파일명 주의
간혹 R에서 인코딩 문제가 발생할 수 있으므로 파일 이름과 경로는 영어로 작성하는 것을 권장한다.
3. 패키지 설치는 한 번만
install.packages( )는 처음 한 번만 실행하면 되며, 이후에는 library( )로 불러온다.
4. 파일별 맞춤 함수 사용
엑셀 파일은 read_csv( )로 읽을 수 없으며, 반드시 read_excel( )을 사용해야 한다. 각 형식에 맞는 전용 함수를 사용하는 것이 중요하다.
5. 데이터 구조 확인
파일을 불러온 직후에는 glimpse( ), str( ), View( ) 등을 활용하여 데이터가 올바르게 로드되었는지 확인하는 습관이 중요하다.