지하철역 주변 아파트 시세 분석 '지하철역 주변의 아파트 시세를 알아보고, 지하철역에서 아파트까지의 거리에 따라 가격 분포가 어떻게 다른지를 비교
결과 시각화 : 구글 지도를 활용하여 서울시 지도에 지하철역과 주변 아파트 실거래가 표시
install.packages("ggmap")
library(ggmap)
library(dplyr)
station_data <- read.csv("역별_주소_및_전화번호.csv")
# 속성 확인
str(station_data)
station_code <- as.character(station_data$구주소)
head(station_code,5)
library(ggmap)
googleAPIkey <- "--------------------------------------------------------"
register_google(googleAPIkey)
station_code <- geocode(station_code)
head(station_code)
station_code <- as.character(station_data$구주소) %>% enc2utf8() %>% geocode()
head(station_code) -> 구글 맵스를 이용하여 위도 경도 정보가 불러와짐
station_code_final <- cbind(station_data, station_code)
head(station_code_final) # station_code_final의 앞부분 확인
library(readxl)
apart_data <- read.csv("아파트_실거래가.csv")
apart_data
head(apart_data)
# 전용면적의 값을 반올림하여 정수로 표현
apart_data$전용면적 <- round(apart_data$전용면적)
head(apart_data)
# 전용면적을 기준으로 빈도를 구한 후, 빈도에 따라 내림차순 정렬
count(apart_data, 전용면적) %>% arrange(desc(n)) %>% head()
# 전용면적이 85인 데이터만 추출하여 aprat_data 85에 할당
apart_data_85 <- subset(apart_data, 전용면적 == "85")
head(apart_data_85) # apart_data_85 앞부분 확인
apart_data_85$거래금액 <- gsub(",","",apart_data_85$거래금액)
head(apart_data_85)
apart_data_85_cost <- aggregate(as.integer(거래금액) ~ 단지명,
apart_data_85, mean)
head(apart_data_85_cost)
apart_data_85_cost <- rename(apart_data_85_cost,
"거래금액" = "as.integer(거래금액)")
head(apart_data_85_cost)
apart_data_85 <- apart_data_85[!duplicated(apart_data_85$단지명),]
head(apart_data_85) # 결과 확인하기
apart_data_85 <- left_join(apart_data_85, apart_data_85_cost, by="단지명")
head(apart_data_85)
apart_data_85 <- apart_data_85 %>% select("단지명","시군구","번지",
"전용면적","거래금액.y")
head(apart_data_85)
apart_data_85 <- rename(apart_data_85, "거래금액" ="거래금액.y")
head(apart_data_85)
apart_address <- paste(apart_data_85$시군구, apart_data_85$번지)
head(apart_address)
apart_address <- paste(apart_data_85$시군구, apart_data_85$번지) %>%
data.frame()
head(apart_address)
apart_address <- rename(apart_address,"주소" =".")
head(apart_address)
apart_address_code <- as.character(apart_address$주소) %>%
enc2utf8() %>% geocode()
head(apart_data_85)
head(apart_address)
head(apart_address_code)
apart_code_final <- cbind(apart_data_85,apart_address,apart_address_code) %>%
select("단지명","전용면적","거래금액","주소",lon,lat)
apart_code_final
# 마포구 지도 정보를 가져와 mapo_map에 저장
mapo_map <- get_googlemap("mapogu",maptype = "roadmap", zoom=11)
ggmap(mapo_map) # 구글 지도 호출
library(ggplot2)
library(ggmap)
ggmap(mapo_map) +
geom_point(data = station_code_final, aes(x= lon, y=lat), color = "red",
size = 3) +
geom_text(data = station_code_final, aes(label = 역명,vjust=-1))
hongdae_map <- get_googlemap("hongdae station", maptype = "roadmap", zoom=15)
)
# 홍대입구역 지도에 지하철 정보 및 아파트 정보 일괄 표시
ggmap(hongdae_map) +
geom_point(data = station_code_final, aes(x = lon, y = lat), colour = "red", size = 1) +
geom_text(data = station_code_final, aes(label = 역명, vjust = -1)) +
geom_point(data = apart_code_final, aes(x = lon, y = lat)) +
geom_text(data = apart_code_final, aes(label = 단지명, vjust = -1)) +
geom_text(data = apart_code_final, aes(label = 거래금액, vjust = 1), colour = "red")
'경기도 인공지능 개발 과정 > R' 카테고리의 다른 글
R 자연어 처리 (0) | 2022.04.25 |
---|---|
R 야구 데이터 분석 (0) | 2022.04.19 |
R ggplot2 (0) | 2022.04.17 |
R 이상치 (0) | 2022.04.17 |
R 결측치 (0) | 2022.04.17 |