다수의 엑셀 파일을 합쳐보자

install.packages(“xlsx”)

library(xlsx)
## Loading required package: rJava
## Loading required package: xlsxjars
setwd('C:\\Users\\user\\Desktop\\sur')

file.name<-c()

for (i in 1:25)
{
  temp <- paste("temp (", i,sep="")
  temp <- paste(temp, ").xlsx", sep="") 
  file.name <- rbind(file.name, temp) 
}

survey <- c()

for (i in file.name)
{
  temp <- read.xlsx(i, 1, header = FALSE, startRow = 4, colIndex = 1:8, encoding="UTF-8") 
  names(temp) <- c("행정구역", "거주여부", "대상분류", "대상 세분류", 
                   "사업체수", "남성", "여성", "합계" ) 
  survey <- rbind(survey, temp)
}

for (i in 2:nrow(survey))
{
  survey$행정구역[i] <- ifelse(is.na(survey$행정구역[i]), as.character(survey$행정구역[i-1]),
                         as.character(survey$행정구역[i]))
  survey$거주여부[i] <- ifelse(is.na(survey$거주여부[i]), as.character(survey$거주여부[i-1]),
                         as.character(survey$거주여부[i]))
  survey$대상분류[i] <- ifelse(is.na(survey$대상분류[i]), as.character(survey$대상분류[i-1]),
                         as.character(survey$대상분류[i]))
}

head(survey)
##   행정구역             거주여부                        대상분류
## 1   중랑구 거주 복지시설 운영업       노인 거주 복지시설 운영업
## 2   중랑구 거주 복지시설 운영업       노인 거주 복지시설 운영업
## 3   중랑구 거주 복지시설 운영업 심신장애인 거주 복지시설 운영업
## 4   중랑구 거주 복지시설 운영업 심신장애인 거주 복지시설 운영업
## 5   중랑구 거주 복지시설 운영업       기타 거주 복지시설 운영업
## 6   중랑구 거주 복지시설 운영업       기타 거주 복지시설 운영업
##                                             대상 세분류 사업체수 남성 여성
## 1                             노인 요양 복지시설 운영업        5   27  117
## 2                             노인 양로 복지시설 운영업        0    0    0
## 3                    신체 부자유자 거주 복지시설 운영업        0    0    0
## 4 정신질환, 정신지체 및 약물중독자 거주 복지시설 운영업        0    0    0
## 5                   아동 및 부녀자 거주 복지시설 운영업        0    0    0
## 6                        그외 기타 거주 복지시설 운영업        0    0    0
##   합계
## 1  144
## 2    0
## 3    0
## 4    0
## 5    0
## 6    0
head(survey[,1:3])
##   행정구역             거주여부                        대상분류
## 1   중랑구 거주 복지시설 운영업       노인 거주 복지시설 운영업
## 2   중랑구 거주 복지시설 운영업       노인 거주 복지시설 운영업
## 3   중랑구 거주 복지시설 운영업 심신장애인 거주 복지시설 운영업
## 4   중랑구 거주 복지시설 운영업 심신장애인 거주 복지시설 운영업
## 5   중랑구 거주 복지시설 운영업       기타 거주 복지시설 운영업
## 6   중랑구 거주 복지시설 운영업       기타 거주 복지시설 운영업
head(survey[,4:8])
##                                             대상 세분류 사업체수 남성 여성
## 1                             노인 요양 복지시설 운영업        5   27  117
## 2                             노인 양로 복지시설 운영업        0    0    0
## 3                    신체 부자유자 거주 복지시설 운영업        0    0    0
## 4 정신질환, 정신지체 및 약물중독자 거주 복지시설 운영업        0    0    0
## 5                   아동 및 부녀자 거주 복지시설 운영업        0    0    0
## 6                        그외 기타 거주 복지시설 운영업        0    0    0
##   합계
## 1  144
## 2    0
## 3    0
## 4    0
## 5    0
## 6    0
head(survey[,5:8])
##   사업체수 남성 여성 합계
## 1        5   27  117  144
## 2        0    0    0    0
## 3        0    0    0    0
## 4        0    0    0    0
## 5        0    0    0    0
## 6        0    0    0    0

파일 이름을 살려보자

특정 폴더의 file list 를 가져오려면 cmd 창에서 dir /b >list.txt

setwd('C:\\Users\\user\\Desktop\\sur2')

file.name <- read.csv("list.txt")[,1]
file.name
##  [1] 강남구_2008.xlsx   강남구_2012.xlsx   강동구_2008.xlsx  
##  [4] 강동구_2012.xlsx   강북구_2008.xlsx   강북구_2012.xlsx  
##  [7] 강서구_2008.xlsx   강서구_2012.xlsx   관악구_2008.xlsx  
## [10] 관악구_2012.xlsx   광진구_2008.xlsx   광진구_2012.xlsx  
## [13] 구로구_2008.xlsx   구로구_2012.xlsx   금천구_2008.xlsx  
## [16] 금천구_2012.xlsx   노원구_2008.xlsx   노원구_2012.xlsx  
## [19] 도봉구_2008.xlsx   도봉구_2012.xlsx   동대문구_2008.xlsx
## [22] 동대문구_2012.xlsx 동작구_2008.xlsx   동작구_2012.xlsx  
## [25] 마포구_2008.xlsx   마포구_2012.xlsx   서대문구_2008.xlsx
## [28] 서대문구_2012.xlsx 서초구_2008.xlsx   서초구_2012.xlsx  
## [31] 성동구_2008.xlsx   성동구_2012.xlsx   성북구_2008.xlsx  
## [34] 성북구_2012.xlsx   송파구_2008.xlsx   송파구_2012.xlsx  
## [37] 양천구_2008.xlsx   양천구_2012.xlsx   영등포구_2008.xlsx
## [40] 영등포구_2012.xlsx 용산구_2008.xlsx   용산구_2012.xlsx  
## [43] 은평구_2008.xlsx   은평구_2012.xlsx   종로구_2008.xlsx  
## [46] 종로구_2012.xlsx   중구_2008.xlsx     중구_2012.xlsx    
## [49] 중랑구_2008.xlsx   중랑구_2012.xlsx  
## 50 Levels: 강남구_2008.xlsx 강남구_2012.xlsx ... 중랑구_2012.xlsx
survey <- c()

for (i in file.name)
{
  temp <- read.xlsx(i, 1, header = FALSE, startRow = 4, colIndex = 1:8, encoding="UTF-8") 
  names(temp) <- c("행정구역", "거주여부", "대상분류", "대상 세분류", 
                   "사업체수", "남성", "여성", "합계" ) 
  id <- i
  temp <- data.frame(temp, id)
  survey <- rbind(survey, temp)
}
warnings()
## NULL
for (i in 2:nrow(survey))
{
  survey$행정구역[i] <- ifelse(is.na(survey$행정구역[i]), as.character(survey$행정구역[i-1]),
                         as.character(survey$행정구역[i]))
  survey$거주여부[i] <- ifelse(is.na(survey$거주여부[i]), as.character(survey$거주여부[i-1]),
                         as.character(survey$거주여부[i]))
  survey$대상분류[i] <- ifelse(is.na(survey$대상분류[i]), as.character(survey$대상분류[i-1]),
                         as.character(survey$대상분류[i]))
}

head(survey)
##   행정구역             거주여부                        대상분류
## 1   강남구 거주 복지시설 운영업       노인 거주 복지시설 운영업
## 2   강남구 거주 복지시설 운영업       노인 거주 복지시설 운영업
## 3   강남구 거주 복지시설 운영업 심신장애인 거주 복지시설 운영업
## 4   강남구 거주 복지시설 운영업 심신장애인 거주 복지시설 운영업
## 5   강남구 거주 복지시설 운영업       기타 거주 복지시설 운영업
## 6   강남구 거주 복지시설 운영업       기타 거주 복지시설 운영업
##                                             대상.세분류 사업체수 남성 여성
## 1                             노인 요양 복지시설 운영업        0    0    0
## 2                             노인 양로 복지시설 운영업        1    1    0
## 3                    신체 부자유자 거주 복지시설 운영업        0    0    0
## 4 정신질환, 정신지체 및 약물중독자 거주 복지시설 운영업        1    0   13
## 5                   아동 및 부녀자 거주 복지시설 운영업        5   47  154
## 6                        그외 기타 거주 복지시설 운영업        0    0    0
##   합계               id
## 1    0 강남구_2008.xlsx
## 2    1 강남구_2008.xlsx
## 3    0 강남구_2008.xlsx
## 4   13 강남구_2008.xlsx
## 5  201 강남구_2008.xlsx
## 6    0 강남구_2008.xlsx
head(survey)
##   행정구역             거주여부                        대상분류
## 1   강남구 거주 복지시설 운영업       노인 거주 복지시설 운영업
## 2   강남구 거주 복지시설 운영업       노인 거주 복지시설 운영업
## 3   강남구 거주 복지시설 운영업 심신장애인 거주 복지시설 운영업
## 4   강남구 거주 복지시설 운영업 심신장애인 거주 복지시설 운영업
## 5   강남구 거주 복지시설 운영업       기타 거주 복지시설 운영업
## 6   강남구 거주 복지시설 운영업       기타 거주 복지시설 운영업
##                                             대상.세분류 사업체수 남성 여성
## 1                             노인 요양 복지시설 운영업        0    0    0
## 2                             노인 양로 복지시설 운영업        1    1    0
## 3                    신체 부자유자 거주 복지시설 운영업        0    0    0
## 4 정신질환, 정신지체 및 약물중독자 거주 복지시설 운영업        1    0   13
## 5                   아동 및 부녀자 거주 복지시설 운영업        5   47  154
## 6                        그외 기타 거주 복지시설 운영업        0    0    0
##   합계               id
## 1    0 강남구_2008.xlsx
## 2    1 강남구_2008.xlsx
## 3    0 강남구_2008.xlsx
## 4   13 강남구_2008.xlsx
## 5  201 강남구_2008.xlsx
## 6    0 강남구_2008.xlsx
head(survey[,1:3])
##   행정구역             거주여부                        대상분류
## 1   강남구 거주 복지시설 운영업       노인 거주 복지시설 운영업
## 2   강남구 거주 복지시설 운영업       노인 거주 복지시설 운영업
## 3   강남구 거주 복지시설 운영업 심신장애인 거주 복지시설 운영업
## 4   강남구 거주 복지시설 운영업 심신장애인 거주 복지시설 운영업
## 5   강남구 거주 복지시설 운영업       기타 거주 복지시설 운영업
## 6   강남구 거주 복지시설 운영업       기타 거주 복지시설 운영업
head(survey[,4:9])
##                                             대상.세분류 사업체수 남성 여성
## 1                             노인 요양 복지시설 운영업        0    0    0
## 2                             노인 양로 복지시설 운영업        1    1    0
## 3                    신체 부자유자 거주 복지시설 운영업        0    0    0
## 4 정신질환, 정신지체 및 약물중독자 거주 복지시설 운영업        1    0   13
## 5                   아동 및 부녀자 거주 복지시설 운영업        5   47  154
## 6                        그외 기타 거주 복지시설 운영업        0    0    0
##   합계               id
## 1    0 강남구_2008.xlsx
## 2    1 강남구_2008.xlsx
## 3    0 강남구_2008.xlsx
## 4   13 강남구_2008.xlsx
## 5  201 강남구_2008.xlsx
## 6    0 강남구_2008.xlsx
head(survey[,5:9])
##   사업체수 남성 여성 합계               id
## 1        0    0    0    0 강남구_2008.xlsx
## 2        1    1    0    1 강남구_2008.xlsx
## 3        0    0    0    0 강남구_2008.xlsx
## 4        1    0   13   13 강남구_2008.xlsx
## 5        5   47  154  201 강남구_2008.xlsx
## 6        0    0    0    0 강남구_2008.xlsx