엑셀 주소록을 구글지도에 표시하기1. 차트로 영업실적 비교하기1-1. 단순 파이 차트1-2. 파이차트의 데이터에 이름 달기2. 엑셀 주소록을 구글 지도에 표시하기2-1. 주소록 불러오기2-2. 센터명과 주소 열의 데이터 타입이 factor 형. 이를 문자형으로 변환한다. (as.character() 함수 사용)2-3. 구글 API 인증 및 주소록의 geocode 다운로드2-4. 센터명 열의 데이터 타입도 문자열로 변경한다.2-5. 센터명과 geocode로 구성된 데이터 프레임 변수 df를 생성한다.2-6. 지도의 중심 지점 계산2-7. 구글 지도정보 확인 및 구글 지도에 센터 위치 표시하기
xxxxxxxxxxx <- c(9, 15, 20, 6)pie(x) # 벡터 데이터의 파이차트 그리기 # 차트의 조각들에 데이터의 색인번호가 출력됨.결과 :
xxxxxxxxxxlabel <- c("영업 1팀", "영업 2팀", "영업 3팀", "영업 4팀") # 데이터 요소들의 이름 지정하기pie(x, labels = label) # 데이터 요소들의 이름을 차트에 출력하기결과 :
xxxxxxxxxx# 주소록 파일(csv)을 불러온다. # 단. csv 파일은 엑셀파일 작성 후 저장 시, # [CSV(쉼표로 분리)(*.csv)] 형식으로 저장이 되어 있어야 함df.addr <- read.csv(file.choose())df.addr결과 :
xxxxxxxxxx## 센터명 주소## 1 1.유성센터 대전 유성구 계룡로 111## 2 2.대전센터 대전 유성구 계백로 953## 3 3.동대전센터 대전 동구 동서대로 1684## 4 4.서구센터 대전 서구 대덕대로 222## 5 5.중대전센터 대전 중구 계
센터명과 주소 열의 데이터 타입이 factor 형. 이를 문자형으로 변환한다. (as.character() 함수 사용)xxxxxxxxxx# 주소 열을 문자벡터로 변환하여 addr에 저장한다.addr <- as.character(df.addr$주소)addr결과 :
xxxxxxxxxx## [1] "대전 유성구 계룡로 111" "대전 유성구 계백로 953"## [3] "대전 동구 동서대로 1684" "대전 서구 대덕대로 222"## [5] "대전 중구 계백로
xxxxxxxxxx# Google API Authenticationregister_google(key = "AIzaSyAf8vkz_1OJj4o8zCUkPJMYY7nEK8LbFJw")# 주소의 geocode 다운로드 gc <- geocode(enc2utf8(addr))gc결과 :
xxxxxxxxxx## # A tibble: 5 x 2## lon lat## <dbl> <dbl>## 1 127. 36.4## 2 127. 36.3## 3 127. 36.3## 4 127. 36.4## 5 127. 36.3
센터명 열의 데이터 타입도 문자열로 변경한다.xxxxxxxxxx# 센터명 열을 문자벡터로 변환하여 names에 저장한다.names <- as.character(df.addr$센터명)names결과 :
xxxxxxxxxx## [1] "1.유성센터" "2.대전센터" "3.동대전센터" "4.서구센터"## [5] "5.중대전센
df를 생성한다.xxxxxxxxxx# 센터 별 geocode를 담고 있는 데이터 프레임 df 생성df <- data.frame(name=names, lon=gc$lon, lat=gc$lat)df결과 :
xxxxxxxxxx## name lon lat## 1 1.유성센터 127.3432 36.35354## 2 2.대전센터 127.2917 36.27933## 3 3.동대전센터 127.4371 36.34877## 4 4.서구센터 127.3797 36.35236## 5 5.중대전센터 127.4061 36.32
xxxxxxxxxx# 지도의 중심점 계산cen <- c(mean(df$lon), mean(df$lat))cen결과 :
xxxxxxxxxx## [1] 127.37157 36.33099
xxxxxxxxxx# 구글 지도정보 확인 및 구글 지도에 표시하기map <- get_googlemap(center=cen, maptype="roadmap",zoom=11, marker=gc)ggmap(map)결과 :
