이번에는 하나의 폴더안에 있는 여러 csv파일들을 R로 불려들여서 하나로 합쳐보는 코드를 작성해보겠습니다.
우선 임의의 폴더안에 여러개의 csv파일들을 복사해서 붙여넣었습니다.
R이 익숙치 않으신 분들은 이전 포스팅들을 참고해주세요
https://bluediary8.tistory.com/84
R에서 working directory를 setting하고 list.files()라는 함수를 통해 폴더 안에 있는 csv파일들을 받아 올 수 있습니다.
setwd("D:\\R\\new\\1") ## Working directory setting
list.files() ## file list
list.files() 함수를 통해 받아온 파일명들을 새로운 변수 file_list 에 넣도록 하겠습니다.
file_list<-list.files() ## file list
file_list
이제 여기 데이터들을 read.csv함수를 통해 불러들이고 for문을 통해서 합쳐주도록 하겠습니다.
여기서 for문을 사용하는데에 조금 어려울 수 있습니다.
하지만 crawling이나 기타 코딩 할때에 굉장히 자주쓰는 테크닉 이기 때문에 꼭
이해하고 넘어가시는게 좋습니다.
아래 for문에 대해 공부하실때에는 i가1일때에 final이라는 변수에 어떤게 들어가고
i가 2일때 final이라는 변수에 어떤게 들어가는지 생각해보시는게 좋습니다.
final<-NULL ## 빈 변수 (NULL) 선언
for(i in 1:length(file_list)){ ## file_list의 1번째방부터 6번째(길이)까지
file<-read.csv(file_list[i]) ## file_list의 i번째 방에 있는 csv 파일 read
final<-rbind(final,file)
## i가 1일 때 : 빈 값과 1번째 csv rbind -> 1번째 csv
## i가 2일 때 : 1번째 csv와 2번째 csv rbind -> 1번째+2번째 csv
## i가 3일 때 : (1번째+2번째 csv)와 세번째 csv rbind -> 1번째+2번째+3번째 csv
cat("\n",i)
}
for문이 돌아간 이후에 final변수의 dimension과 head()함수를 통해 확인해보면 데이터가 잘 합쳐졌다라는 것을 알 수 있습니다.
dim(final)
head(final)
인프런에서 R강의/딥러닝 강의를 업로드 하고 있습니다.
https://www.inflearn.com/roadmaps/225
반응형
'R프로그래밍' 카테고리의 다른 글
R프로그래밍 - 문자열 찾는 함수 str_detect 함수 %in%연산자 (0) | 2020.06.24 |
---|---|
R프로그래밍 - R package 설치 법, 설치 오류시 해결 하는 방법 (수동 설치법, 패키지 제거법) (1) | 2020.06.24 |
R프로그래밍 - 코드로 폴더 생성하기 dir.create 함수 (0) | 2020.06.24 |
R프로그래밍 - csv파일 내가원하는 경로에 저장하기 write.csv / getwd / setwd (0) | 2020.06.23 |
R프로그래밍 - While문 (0) | 2020.06.23 |
댓글