TXT, CSV 및 기타 구분 파일 로드
Source: Dev.to
이 문서에서 다루는 내용
우리는 다음과 같은 가져오기 과정을 살펴볼 것입니다:
- TXT, CSV 및 기타 구분 파일
- JSON 파일
- XML 및 HTML 테이블
- Excel 워크북
- SAS, SPSS, Stata 데이터셋
- MATLAB 및 Octave 파일
- ODBC를 통한 관계형 데이터베이스
또한 빠르고 즉석 분석에 매우 유용한 빠른 가져오기 해킹 방법도 공유합니다.
데이터 가져오기 전에 작업 공간 준비하기
잘 준비된 환경은 시간을 절약하고 나중에 불필요한 오류를 방지합니다.
작업 디렉터리 이해 및 설정
대부분의 프로젝트는 관련 데이터 파일을 하나의 폴더에 저장합니다. R에 이 폴더를 작업 디렉터리로 지정하면 상대 경로를 사용해 파일을 가져올 수 있습니다.
# Check your current working directory
getwd()
파일이 다른 위치에 있다면 작업 디렉터리를 변경하세요:
setwd("path/to/your/project/folder")
설정하면 R은 별도로 지정하지 않는 한 이 폴더에서 파일을 자동으로 찾습니다.
작업 공간 정리
이전 세션의 객체가 분석에 조용히 영향을 줄 수 있습니다. 새로 시작하는 것이 보통 가장 좋습니다:
rm(list = ls())
Tip: R을 종료할 때 작업 공간 저장을 비활성화하세요(예:
R --no-save). 이렇게 하면 각 세션이 깨끗하게 시작됩니다.
TXT, CSV 및 기타 구분 파일 로드
구분 텍스트 파일은 가장 일반적인 데이터 형식 중 하나입니다. 이러한 파일은 탭, 쉼표, 세미콜론과 같은 구분 기호로 구분된 값을 저장합니다.
텍스트 파일 읽기
탭 구분 파일 예시
Category V1 V2
A 3 2
B 5 6
B 2 3
A 4 8
A 7 3
# Generic read.table() call
df
주의: 이 방법은 빠른 확인에 편리하지만 재현 가능한 파이프라인에는 권장되지 않습니다.
패키지를 사용한 데이터 가져오기
많은 복잡한 형식은 외부 패키지가 필요합니다. 패키지를 사용하기 전에 설치하고 로드하세요:
install.packages("packageName")
library(packageName)
JSON 파일 읽기
# rjson 패키지 설치 및 로드
install.packages("rjson")
library(rjson)
# 로컬 파일에서
json_data <- fromJSON(file = "input.json")
# URL에서 직접
json_data <- fromJSON(file = "https://example.com/data.json")
json_data는 리스트 형태로 가져옵니다. 필요에 따라 데이터 프레임으로 변환합니다:
json_df <- as.data.frame(json_data)
XML 데이터 및 HTML 테이블 가져오기
XML 파일 읽기
install.packages(c("XML", "RCurl"))
library(XML)
library(RCurl)
# URL에서
xml_raw <- getURL("https://example.com/data.xml")
xml_data <- xmlTreeParse(xml_raw, useInternalNodes = TRUE)
# 데이터 프레임으로 변환 (XML 구조가 표 형태인 경우)
xml_df <- xmlToDataFrame(xmlRoot(xml_data))
HTML 페이지에서 테이블 추출
install.packages("XML")
library(XML)
# 웹 페이지의 모든 테이블 읽기
html_tables <- readHTMLTable(getURL("https://example.com/page.html"))
# 예시: 첫 번째 테이블 선택
df_html <- html_tables[[1]]
Excel 워크북 읽기
readxl은 가볍고 Java나 Perl에 의존하지 않습니다.
install.packages("readxl")
library(readxl)
# 첫 번째 시트 (기본값)
df_excel <- read_excel("file.xlsx")
# 이름으로 특정 시트
df_sheet3 <- read_excel("file.xlsx", sheet = "Sheet3")
# 인덱스로 특정 시트
df_sheet3_idx <- read_excel("file.xlsx", sheet = 3)
통계 소프트웨어 파일에서 데이터 가져오기
SAS, SPSS, Stata 파일
haven 패키지는 변수 라벨과 팩터 정보를 보존합니다.
install.packages("haven")
library(haven)
sas_data <- read_sas("data.sas7bdat")
spss_data <- read_sav("data.sav")
stata_data <- read_dta("data.dta")
MATLAB 및 Octave 파일
# MATLAB .mat 파일
install.packages("R.matlab")
library(R.matlab)
mat_data <- readMat("file.mat")
# Octave 텍스트 파일 (foreign 패키지를 통해)
install.packages("foreign")
library(foreign)
octave_data <- read.octave("file.txt")
관계형 데이터베이스(ODBC)에서 데이터 가져오기
install.packages("RODBC")
library(RODBC)
# 연결 설정 (DSN, 사용자명, 비밀번호를 실제 값으로 교체)
con <- odbcConnect("my_dsn", uid = "my_user", pwd = "my_password")
# 전체 테이블 가져오기
df_table1 <- sqlFetch(con, "Table1")
# 사용자 정의 쿼리 실행
df_query <- sqlQuery(con, "SELECT * FROM Table2 WHERE year = 2023")
# 작업이 끝나면 연결 종료
odbcClose(con)
R에서 데이터 가져오기를 쉽게 하는 팁
- 열 이름이 고유하도록 하세요 – 중복된 이름은 모호한 참조를 일으킵니다.
- 변수 이름에 공백 및 특수 문자를 피하세요; 대신 밑줄(
_)을 사용합니다. - 빈 값을
NA로 교체하세요 (예:read.table에서na.strings = c("", "NA")). - 프로젝트 전반에 일관된 명명 규칙(snake_case, camelCase 등)을 따르세요.
- 주석이나 메타데이터 라인을 원시 데이터 파일에서 가져오기 전에 제거하거나,
comment.char인수를 사용하세요.
즐거운 데이터 가져오기! 🎉
짧고 의미 있는 변수 이름을 선호하세요
코드 스타일을 일관되게 유지하세요.
마무리 노트
R에 데이터를 로드하는 것은 훨씬 더 큰 분석 여정의 첫 단계에 불과합니다. 데이터가 R에 들어오면 진짜 작업이 시작됩니다—정제, 변환, 시각화, 모델링 등.
이 기사에서는 다음과 같은 데이터 가져오기 방법을 다루었습니다:
- Flat files (TXT, CSV) → 플랫 파일 (TXT, CSV)
- Web formats (JSON, XML, HTML) → 웹 형식 (JSON, XML, HTML)
- Excel workbooks → Excel 워크북
- Statistical software → 통계 소프트웨어
- Databases via ODBC → ODBC를 통한 데이터베이스
R에서 대부분의 작업과 마찬가지로 동일한 작업을 수행하는 방법은 여러 가지가 있습니다. 이 가이드는 가장 일반적으로 사용되고 신뢰할 수 있는 접근 방식에 초점을 맞춥니다.
더 좋거나 빠른 대안이 있다면 자유롭게 공유해 주세요—R 학습은 언제나 협업 과정입니다.
즐거운 데이터 가져오기… 그리고 쉽게 R을 활용하세요.
Perceptive Analytics 소개
우리의 사명은 “기업이 데이터에서 가치를 발굴하도록 돕는 것” 입니다. 20년 이상 동안, 우리는 Fortune 500 기업부터 중견 기업까지 100여 개 이상의 고객과 협력하여 복잡한 데이터‑분석 과제를 해결해 왔습니다.
우리 서비스에는 숙련된 Power BI 프리랜서에 대한 접근 및 신뢰받는 Snowflake 컨설턴트와의 협업이 포함되어 있어, 데이터를 전략적 인사이트로 전환합니다.
여러분과 이야기를 나누고 싶습니다. 언제든지 연락 주세요.