폴더내 여러 파일들을 한번에 불러오고 나아가 하나의 데이터프레임으로 만들기
(1) 폴더 경로 객체로 만들기
(2) 폴더 내 파일들 이름을 list-up 하여 객체로 만들기
(3) 파일 개수 객체로 만들기
(4) 폴더 내 파일들을 LOOP 돌려서 불러오기 : read.table()
(5) 파일을 내보내면서 합치기 : write.table(dataset, APPEND = TRUE)
(6) 데이터프레임으로 불러오기, 칼럼 이름 넣기 : read.table(dataset_all, col.names = c())
##Automatically import files in a folder##
#cleansing up environmet
getwd()
rm(list=ls())
#making directory as an object
src_dir <- c("디렉토리")
src_dir
#Objectification of file list in directory
src_file <- list.files(src_dir)
src_file
#Make counting number of files in the directory
src_file_cnt <- length(src_file)
src_file_cnt
#write.table one by one automatiically, using loop program
for(i in 1:src_file_cnt){
dataset <- read.table(
paste(src_dir, "/", src_file[i], sep=""),
sep=",", header=F, stringsAsFactors = F)
# dataset exporting with 'APPEND = TRUE' option, filename = dataset_all.txt
write.table(dataset,
paste(src_dir, "/", "dataset_all.txt", sep=""),
sep = ",",
row.names = FALSE,
col.names = FALSE,
quote = FALSE,
append = TRUE) # appending dataset (stacking)
#delete seperate datasets
rm(dataset)
#printing loop sequence at console to check loop status
print(i)
}
# reading dataset_all with column names
dataset_all_df <- read.table(
paste(src_dir, "/", "dataset_all.txt", sep=""),
sep = "\t",
header = FALSE, # nocolumn name in the dataset
col.names = c("SICK_SYM", "Freq", "Total", "Per", "Cum_Per"), # input column names
stringsAsFactor = FALSE,
na.strings = "NA", fill = TRUE) #missing value : "NA"
참조:https://rfriend.tistory.com/tag/list.files()
더 자세한 내용:https://stat.ethz.ch/R-manual/R-devel/library/base/html/list.files.html
'반영훈 > R' 카테고리의 다른 글
R 데이터 전처리에 사용했던 함수 정리 (0) | 2019.07.12 |
---|---|
Error: not compatible: Incompatible type for column `SICK_01`: x numeric, y logical [R] 해결 (0) | 2019.07.10 |
[R] Join (0) | 2019.07.04 |
[R]자주 쓰이는 정규 표현식 모음 (0) | 2019.07.04 |
[R][Packages][Bigdata][data.table]대용량 데이터를 빠르게 읽기 (0) | 2019.07.04 |
댓글