[R] 데이터 불러오기 : CSV - read_csv(), read.csv(), fread()
.
이번엔 CSV 파일을 불러오는 방법을 소개한다.
코드를 보여드리기에 앞서 워킹 디렉토리부터 지정하겠다.
워킹 디렉토리에 관한 설명은 다음 링크된 포스트에서 볼 수 있다.
2022.08.05 - [통계 프로그램 사용 팁] - [R] 작업 디렉토리 (Working Directory) 지정
[R] 작업 디렉토리 (Working Directory) 지정 - getwd(), setwd()
[R] 작업 디렉토리 (Working directory) 지정 R에는 작업 디렉토리 (Working directory)라는 개념이 있다. SPSS에는 없는 개념이고, SAS의 라이브러리와는 약간 다른 개념인데, R의 작업 디렉토리는 일의 편리.
medistat.tistory.com
setwd("C:/Users/user/Documents/Tistory_blog")
*실습용 데이터는 아래 링크를 클릭하면 다운로드할 수 있습니다.
2022.08.04 - [공지사항 및 소개] - 분석용 데이터 (update 22.08.08) - 기술 통계
분석용 데이터 (update 22.08.04) - 기술 통계
2022년 08월 04일 버전입니다. 변수는 계속하여 추가될 예정입니다. 다음 카테고리에 있는 글에서 이용된 데이터입니다. - 기술 통계
medistat.tistory.com
CSV 파일 불러오기
많이들 쓰는 함수는 세 가지가 있다.
read.csv() (패키지: utils)
read_csv() (패키지: readr)
fread() (패키지: data.table)
각각의 패키지를 설치하고, 작업 디렉토리 내에 있는 파일 "Data.csv"를 불러와 a, b, c에 저장하도록 하겠다.
install.packages("utils") # R 기본 패키지므로 설치 필요 없음
library("utils")
a<-read.csv("Data.csv")
install.packages("readr")
library("readr")
b<-read_csv("Data.csv")
install.packages("data.table")
library("data.table")
c<-fread("Data.csv")
1) [패키지: utils] read.csv()
read.csv()가 들어있는 utils는 R을 설치할 때 자동으로 딸려오는 패키지다. 따라서 별도의 패키지 설치가 필요 없고 data.frame 형식으로 저장하므로 read.csv()는 CSV를 불러올 때 가장 많이 쓰이는 함수 중 하나다.
하지만, 다음과 같이 첫 번째 열 이름 (column name)에서 오류가 자주 발생한다는 단점이 있다.
2) [패키지: readr] read_csv()
위와 같은 에러가 발생하지 않고, 실행도 잘 되어서 문제가 없지만, 다음 나오는 fread보다는 조금 느리다는 단점이 있다.
3) [패키지: data.table] fread()
CSV파일을 정말 빠르게 읽을 수 있는 함수다. 특히 100만행이 넘어가는 데이터부터는 극도의 효율성을 자랑한다. 하지만 간혹 에러가 나는 경우가 있으니 주의할 필요가 있다.
R 데이터 불러오기 - CSV 정복 완료!
작성일: 2022.08.08.
최종 수정일: 2022.08.08.
이용 프로그램: R 4.1.3, RStudio v1.4.1717
운영체제: Windows 10
'통계 프로그램 사용 방법 > R' 카테고리의 다른 글
[R] 데이터 저장하기 : EXCEL 파일 - write_xlsx(), write.xlsx() (0) | 2022.08.10 |
---|---|
[R] 데이터 불러오기 : SAS file (.sas7bdat) - read.sas7bdat(), read_sas() (0) | 2022.08.10 |
[R] 데이터 불러오기 : EXCEL - read_excel(), read.xlsx() (0) | 2022.08.05 |
[R] 패키지 설치하기 - install.packages(), library() (0) | 2022.08.05 |
[R] 작업 디렉토리 (Working Directory) 지정 - getwd(), setwd() (0) | 2022.08.05 |