Excel data 읽어들이기

xlsx 패키지 설치와 활용

  • 먼저 xlsx 패키지의 설치 여부를 확인하고, 설치되어 있는 경우 library() 로 증록
    • xlsxrJava패키지를 필요로 하기 때문에 Java 최신판이 설치되어 있어야 함.
    • 파일이 없다는 에러 메시지가 뜨면, 파일 경로가 맞는지 확인. getwd()setwd()를 활용하고, 올바른 경로 입력.
    • read.xlsx() 에 나오는 1은 무슨 뜻인가? stringsAsFactors를 하나는 TRUE로 설정하고, 다음에는 FALSE로 설정한 이유는 무엇인가? 설정을 하지 않으면 어떻게 되는가?에 답할 수 있어야 함.
    • encoding = UTF-8이 필요한 이유는 무엇인가? Sys.getlocale()로 확인해 볼 것.
library(xlsx)
## Loading required package: rJava
## Loading required package: xlsxjars
library(knitr)
doorae0924.rest<-read.xlsx("../data/Data0924.xlsx", 1, colIndex=2:54, endRow=98, stringsAsFactors=TRUE, encoding = "UTF-8")
doorae0924.name <- read.xlsx("../data/Data0924.xlsx", 1, colIndex=1, endRow=98, stringsAsFactors=FALSE, encoding = "UTF-8")
doorae0924 <- data.frame(doorae0924.name, doorae0924.rest)
doorae0924$"시도"
##  [1] 경기  경기  경기  경기  경기  경기  경기  경기  경기  경기  경기 
## [12] 경기  경기  강원  강원  강원  강원  강원  강원  강원  강원  강원 
## [23] 강원  충북  충북  충북  충북  충북  충북  충북  충북  충남  충남 
## [34] 전북  전북  전북  전북  전북  전북  전북  전북  전북  전북  전북 
## [45] 전북  전북  전북  전북  전북  전북  전북  전남  전남  전남  전남 
## [56] 전남  전남  전남  전남  전남  전남  전남  전남  전남  전남  전남 
## [67] 전남  전남  경북  경북  경북  경북  경북  경북  경북  경북  경북 
## [78] 경북  경북  경북  경북  경북  경북  경북  경북  경북  경남  경남 
## [89] 경남  경남  경남  경남  경남  경남  경남  경남  경남 
## Levels: 강원 경기 경남 경북 전남 전북 전북  충남 충북
  • 전북이 두 개 나옴에 유의. 어떤 사연인가 하면,
    • which() 안에서 돌아가는 내용을 확실히 알아둘 것. 앞뒤 ()는 왜 사용하고 있는가?
    • kable()에서 t(as.matrix())는 왜 필요한가?
(id.to.fix <- which(doorae0924$"시도"=="전북 "))
## [1] 50 51
doorae0924$"조직명"[id.to.fix]
## [1] "숲속나들이"       "구천동펜션협의회"
doorae0924$"시도"[id.to.fix] <- "전북"
doorae0924$"시도"
##  [1] 경기 경기 경기 경기 경기 경기 경기 경기 경기 경기 경기 경기 경기 강원
## [15] 강원 강원 강원 강원 강원 강원 강원 강원 강원 충북 충북 충북 충북 충북
## [29] 충북 충북 충북 충남 충남 전북 전북 전북 전북 전북 전북 전북 전북 전북
## [43] 전북 전북 전북 전북 전북 전북 전북 전북 전북 전남 전남 전남 전남 전남
## [57] 전남 전남 전남 전남 전남 전남 전남 전남 전남 전남 전남 전남 경북 경북
## [71] 경북 경북 경북 경북 경북 경북 경북 경북 경북 경북 경북 경북 경북 경북
## [85] 경북 경북 경남 경남 경남 경남 경남 경남 경남 경남 경남 경남 경남
## Levels: 강원 경기 경남 경북 전남 전북 전북  충남 충북
kable(t(as.matrix(table(doorae0924$"시도"))))
강원 경기 경남 경북 전남 전북 전북 충남 충북
10 13 11 18 17 18 0 2 8
  • “전북”에 속한 갯수를 “전북”에 합쳤지만, “전북” factor level이 여전히 남아 있음.
    • count가 0인 factor level을 없애려면, 간단히
(doorae0924$"시도" <- factor(doorae0924$"시도"))
##  [1] 경기 경기 경기 경기 경기 경기 경기 경기 경기 경기 경기 경기 경기 강원
## [15] 강원 강원 강원 강원 강원 강원 강원 강원 강원 충북 충북 충북 충북 충북
## [29] 충북 충북 충북 충남 충남 전북 전북 전북 전북 전북 전북 전북 전북 전북
## [43] 전북 전북 전북 전북 전북 전북 전북 전북 전북 전남 전남 전남 전남 전남
## [57] 전남 전남 전남 전남 전남 전남 전남 전남 전남 전남 전남 전남 경북 경북
## [71] 경북 경북 경북 경북 경북 경북 경북 경북 경북 경북 경북 경북 경북 경북
## [85] 경북 경북 경남 경남 경남 경남 경남 경남 경남 경남 경남 경남 경남
## Levels: 강원 경기 경남 경북 전남 전북 충남 충북
kable(t(as.matrix(table(doorae0924$"시도"))))
강원 경기 경남 경북 전남 전북 충남 충북
10 13 11 18 17 18 2 8

‘업력(years in business)’ 계산

  • Date class의 연산에 대한 문제임.
    • difftime() 사용. 특정일식까지의 기간을 계산하려면, 예를 들어서 2015/05/31까지의 기간은 difftime("2015-05-31", doorae0924$"설립일") 와 같이 계산하면 됨. 이 계산 결과, difftime class object가 생성됨.
    • “사업자등록여부”에서 NA는 등록이 안된 것으로 보아야 함. 따라서 factor level의 No로 분류. NoYes보다 알파벳 순서에서 앞에 나오기 때문에 내부적으로 No1, Yes2의 값을 갖게 됨. 이 순서를 바꿔주려면 factor()로 설정하면서 levels =를 조정하여야 함.
str(doorae0924)
## 'data.frame':    97 obs. of  54 variables:
##  $ 조직명                : chr  "수원누리" "수원화성공예_협" "행궁맛촌" "이웃문화협동조합" ...
##  $ 시도                  : Factor w/ 8 levels "강원","경기",..: 2 2 2 2 2 2 2 2 2 2 ...
##  $ 시군                  : Factor w/ 18 levels "가평","강릉",..: 10 10 10 10 10 12 12 12 12 12 ...
##  $ PD.1                  : Factor w/ 18 levels "경용주","권옥선",..: 3 3 3 3 3 11 11 11 11 11 ...
##  $ PD.2                  : Factor w/ 3 levels "박호철","없음",..: 1 1 1 1 1 2 2 2 2 2 ...
##  $ 공동체상태            : Factor w/ 2 levels "경영개선","창업준비": 2 2 2 1 2 2 1 2 2 2 ...
##  $ 조직형태              : Factor w/ 2 levels "법인","임의단체": 2 2 2 1 2 2 1 1 1 2 ...
##  $ 조직원                : num  4 4 4 5 5 5 40 67 5 5 ...
##  $ 법인유형              : Factor w/ 7 levels "마을회","사단법인",..: 5 5 5 7 5 5 3 7 3 5 ...
##  $ 설립일                : Date, format: "2014-05-01" "2015-03-01" ...
##  $ 사업자등록            : Factor w/ 49 levels "124-87-43816",..: 49 39 49 1 49 2 3 49 49 49 ...
##  $ 업태                  : Factor w/ 16 levels "NA","농업","도소매",..: 1 1 1 6 1 1 1 1 1 1 ...
##  $ 종목                  : Factor w/ 30 levels "NA","곡물","공연",..: 1 1 1 12 1 1 1 1 1 1 ...
##  $ 소재지                : Factor w/ 19 levels "가평","강릉",..: 11 11 11 11 11 13 13 13 13 13 ...
##  $ 인적자원              : Factor w/ 3 levels "상","중","하": 3 2 2 1 3 1 3 3 3 3 ...
##  $ 물적자원              : Factor w/ 3 levels "상","중","하": 2 2 2 2 2 1 3 3 3 3 ...
##  $ 재무자원              : Factor w/ 3 levels "상","중","하": 3 3 3 2 3 3 3 3 3 3 ...
##  $ 정부지원사업          : num  1 1 1 1 0 0 0 0 0 0 ...
##  $ 사업명                : Factor w/ 33 levels "경기도특화거리지원",..: 17 17 1 18 22 22 22 22 22 22 ...
##  $ 지원금.천원.          : num  12000 12000 10000 5000 0 0 0 0 0 0 ...
##  $ 지원사항              : Factor w/ 4 levels "HW","SW","SW+HW",..: 3 3 1 2 4 4 4 4 4 4 ...
##  $ 사업아이템            : Factor w/ 7 levels "관광기념품","교통",..: 1 1 5 7 6 3 7 4 7 7 ...
##  $ 아이디어              : Factor w/ 64 levels "간식","게스트하우스",..: 34 37 1 60 29 55 60 46 20 7 ...
##  $ 대표상품              : Factor w/ 26 levels "k","게스트하우스",..: 24 24 24 20 24 24 20 24 24 24 ...
##  $ 방문객_2012           : num  0 0 0 0 0 ...
##  $ 방문객_2013           : num  0 0 0 5000 0 0 0 0 0 0 ...
##  $ 방문객_2014           : num  0 0 0 4000 0 ...
##  $ 매출_2012             : num  0 0 0 0 0 0 653000 0 0 0 ...
##  $ 매출_2013             : num  0 0 0 80000 0 0 0 0 0 0 ...
##  $ 매출_2014             : num  0 0 0 70000 0 ...
##  $ 성과_법인화           : Factor w/ 2 levels "No","Yes": 1 1 1 2 1 1 2 2 2 1 ...
##  $ 성과_사업착수         : Factor w/ 2 levels "No","Yes": 1 1 2 2 1 2 2 1 1 1 ...
##  $ 성과_사업자등록       : Factor w/ 2 levels "No","Yes": 1 2 1 2 1 2 2 1 1 1 ...
##  $ 성과_상품개발         : Factor w/ 2 levels "No","Yes": 1 1 1 2 1 2 2 1 1 1 ...
##  $ 성과_기술개발         : Factor w/ 2 levels "No","Yes": 1 1 1 2 1 2 2 1 1 1 ...
##  $ 성과_신기술개발       : Factor w/ 2 levels "No","Yes": 1 1 1 1 1 1 1 1 1 1 ...
##  $ 성과_신상품개발       : Factor w/ 2 levels "No","Yes": 1 1 1 1 1 1 1 1 1 1 ...
##  $ 성과_사업장확보       : Factor w/ 2 levels "No","Yes": 1 1 1 2 1 2 2 1 1 1 ...
##  $ 성과_사업장추가       : Factor w/ 2 levels "No","Yes": 1 1 1 1 1 1 1 1 1 1 ...
##  $ 성과_이벤트           : Factor w/ 2 levels "No","Yes": 2 2 1 1 2 1 1 1 1 1 ...
##  $ 성과_SNS              : Factor w/ 2 levels "No","Yes": 2 2 1 1 1 1 1 1 1 1 ...
##  $ 성과_매출_2014        : num  0 0 0 0 0 ...
##  $ 성과_매출_2015_3개월  : num  0 0 20800 7080 0 0 0 0 0 0 ...
##  $ 성과_방문객_2014      : num  0 0 0 0 0 ...
##  $ 성과_방문객_2015_3개월: num  0 0 5200 760 0 0 0 0 0 0 ...
##  $ 성과_정규직_2014      : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ 성과_정규직_2015      : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ 성과_비정규직_2014    : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ 성과_비정규직_2015    : num  0 0 0 3 0 0 0 0 0 0 ...
##  $ 사업실적_역량강화     : num  1 1 0 1 0 2 2 2 2 0 ...
##  $ 사업실적_멘토링       : num  0 0 0 0 0 1 1 0 0 0 ...
##  $ 사업실적_파일럿       : num  1 0 0 0 0 2 3 2 6 0 ...
##  $ 사업실적_관광공사     : num  0 0 0 0 0 3 3 1 0 0 ...
##  $ 기타                  : num  0 1 0 0 0 4 4 2 0 0 ...
years.in.business <- round(as.numeric(difftime(Sys.Date(), doorae0924$"설립일", units="days"))/365, digits=1)
str(years.in.business)
##  num [1:97] 1.5 0.6 0.5 2.8 0.5 1.6 4.2 2.2 1.5 0.2 ...
head(years.in.business)
## [1] 1.5 0.6 0.5 2.8 0.5 1.6
doorae0924$"업력" <- years.in.business
str(doorae0924)
## 'data.frame':    97 obs. of  55 variables:
##  $ 조직명                : chr  "수원누리" "수원화성공예_협" "행궁맛촌" "이웃문화협동조합" ...
##  $ 시도                  : Factor w/ 8 levels "강원","경기",..: 2 2 2 2 2 2 2 2 2 2 ...
##  $ 시군                  : Factor w/ 18 levels "가평","강릉",..: 10 10 10 10 10 12 12 12 12 12 ...
##  $ PD.1                  : Factor w/ 18 levels "경용주","권옥선",..: 3 3 3 3 3 11 11 11 11 11 ...
##  $ PD.2                  : Factor w/ 3 levels "박호철","없음",..: 1 1 1 1 1 2 2 2 2 2 ...
##  $ 공동체상태            : Factor w/ 2 levels "경영개선","창업준비": 2 2 2 1 2 2 1 2 2 2 ...
##  $ 조직형태              : Factor w/ 2 levels "법인","임의단체": 2 2 2 1 2 2 1 1 1 2 ...
##  $ 조직원                : num  4 4 4 5 5 5 40 67 5 5 ...
##  $ 법인유형              : Factor w/ 7 levels "마을회","사단법인",..: 5 5 5 7 5 5 3 7 3 5 ...
##  $ 설립일                : Date, format: "2014-05-01" "2015-03-01" ...
##  $ 사업자등록            : Factor w/ 49 levels "124-87-43816",..: 49 39 49 1 49 2 3 49 49 49 ...
##  $ 업태                  : Factor w/ 16 levels "NA","농업","도소매",..: 1 1 1 6 1 1 1 1 1 1 ...
##  $ 종목                  : Factor w/ 30 levels "NA","곡물","공연",..: 1 1 1 12 1 1 1 1 1 1 ...
##  $ 소재지                : Factor w/ 19 levels "가평","강릉",..: 11 11 11 11 11 13 13 13 13 13 ...
##  $ 인적자원              : Factor w/ 3 levels "상","중","하": 3 2 2 1 3 1 3 3 3 3 ...
##  $ 물적자원              : Factor w/ 3 levels "상","중","하": 2 2 2 2 2 1 3 3 3 3 ...
##  $ 재무자원              : Factor w/ 3 levels "상","중","하": 3 3 3 2 3 3 3 3 3 3 ...
##  $ 정부지원사업          : num  1 1 1 1 0 0 0 0 0 0 ...
##  $ 사업명                : Factor w/ 33 levels "경기도특화거리지원",..: 17 17 1 18 22 22 22 22 22 22 ...
##  $ 지원금.천원.          : num  12000 12000 10000 5000 0 0 0 0 0 0 ...
##  $ 지원사항              : Factor w/ 4 levels "HW","SW","SW+HW",..: 3 3 1 2 4 4 4 4 4 4 ...
##  $ 사업아이템            : Factor w/ 7 levels "관광기념품","교통",..: 1 1 5 7 6 3 7 4 7 7 ...
##  $ 아이디어              : Factor w/ 64 levels "간식","게스트하우스",..: 34 37 1 60 29 55 60 46 20 7 ...
##  $ 대표상품              : Factor w/ 26 levels "k","게스트하우스",..: 24 24 24 20 24 24 20 24 24 24 ...
##  $ 방문객_2012           : num  0 0 0 0 0 ...
##  $ 방문객_2013           : num  0 0 0 5000 0 0 0 0 0 0 ...
##  $ 방문객_2014           : num  0 0 0 4000 0 ...
##  $ 매출_2012             : num  0 0 0 0 0 0 653000 0 0 0 ...
##  $ 매출_2013             : num  0 0 0 80000 0 0 0 0 0 0 ...
##  $ 매출_2014             : num  0 0 0 70000 0 ...
##  $ 성과_법인화           : Factor w/ 2 levels "No","Yes": 1 1 1 2 1 1 2 2 2 1 ...
##  $ 성과_사업착수         : Factor w/ 2 levels "No","Yes": 1 1 2 2 1 2 2 1 1 1 ...
##  $ 성과_사업자등록       : Factor w/ 2 levels "No","Yes": 1 2 1 2 1 2 2 1 1 1 ...
##  $ 성과_상품개발         : Factor w/ 2 levels "No","Yes": 1 1 1 2 1 2 2 1 1 1 ...
##  $ 성과_기술개발         : Factor w/ 2 levels "No","Yes": 1 1 1 2 1 2 2 1 1 1 ...
##  $ 성과_신기술개발       : Factor w/ 2 levels "No","Yes": 1 1 1 1 1 1 1 1 1 1 ...
##  $ 성과_신상품개발       : Factor w/ 2 levels "No","Yes": 1 1 1 1 1 1 1 1 1 1 ...
##  $ 성과_사업장확보       : Factor w/ 2 levels "No","Yes": 1 1 1 2 1 2 2 1 1 1 ...
##  $ 성과_사업장추가       : Factor w/ 2 levels "No","Yes": 1 1 1 1 1 1 1 1 1 1 ...
##  $ 성과_이벤트           : Factor w/ 2 levels "No","Yes": 2 2 1 1 2 1 1 1 1 1 ...
##  $ 성과_SNS              : Factor w/ 2 levels "No","Yes": 2 2 1 1 1 1 1 1 1 1 ...
##  $ 성과_매출_2014        : num  0 0 0 0 0 ...
##  $ 성과_매출_2015_3개월  : num  0 0 20800 7080 0 0 0 0 0 0 ...
##  $ 성과_방문객_2014      : num  0 0 0 0 0 ...
##  $ 성과_방문객_2015_3개월: num  0 0 5200 760 0 0 0 0 0 0 ...
##  $ 성과_정규직_2014      : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ 성과_정규직_2015      : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ 성과_비정규직_2014    : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ 성과_비정규직_2015    : num  0 0 0 3 0 0 0 0 0 0 ...
##  $ 사업실적_역량강화     : num  1 1 0 1 0 2 2 2 2 0 ...
##  $ 사업실적_멘토링       : num  0 0 0 0 0 1 1 0 0 0 ...
##  $ 사업실적_파일럿       : num  1 0 0 0 0 2 3 2 6 0 ...
##  $ 사업실적_관광공사     : num  0 0 0 0 0 3 3 1 0 0 ...
##  $ 기타                  : num  0 1 0 0 0 4 4 2 0 0 ...
##  $ 업력                  : num  1.5 0.6 0.5 2.8 0.5 1.6 4.2 2.2 1.5 0.2 ...
doorae0924$"사업자등록여부" <- factor(ifelse(doorae0924$"사업자등록" == "NA", "No", "Yes"), levels=c("Yes", "No"))
doorae0924.ys <- data.frame(status=factor(doorae0924$"공동체상태", levels=c("창업준비", "경영개선")), years=doorae0924$"업력")
save.image("./doorae_new1015.rda")