R을 이용해 공동주택 가격에 대한 통계분석을 시도해보았습니다.
이번 게시물에서는
1. 공동주택에 대한 설명
2. 사용한 데이터에 대한 소개
3. 데이터 전처리
4. EDA
5. 가격의 통계분석
6. 교차분석
7. 추가상관분석 & 회귀분석
에 대해 다뤄보겠습니다.
>> 이전 게시물
[R 데이터분석] 공동주택 가격현황분석 - (2) 데이터 전처리
>> 사용 데이터 파일은 다음 링크를 통해 다운 받으실 수 있습니다.
https://drive.google.com/file/d/1DzOminjLAGnGlEPIj7RkbtYG_U3VMO3y/view?usp=sharing
# 상관관계 분석
# 상관분석(Correlation Analysis)
# - 피어슨의 r : 상관분석의 척도로 사용 ( -1 <= r <= 1)
# 1. 상관계수
# 가격과 평수의 관계를 더 자세히 살펴보기 위해 파생변수 '평당가' 추가
gd1$평당가 <- (gd1$보증금 / gd1$평형)
cor(gd1$건축년대, gd1$보증금) # 0.1527932
cor(gd1$평형, gd1$보증금) # 0.6032655
cor(gd1$평당가, gd1$보증금) # 0.7796426
str(gd1)
# 숫자데이터끼리 상관관계 분석
# 지역은 수치 데이터가 아니라서 비교 불가능하므로, 따로 비교하기로 결정
gd1_cor <- gd1[ , c("보증금","평형","평당가","건축년대","층")]
cor(gd1_cor)
# 2. 상관계수 시각화
install.packages("corrplot")
library(corrplot)
aq.cor <- cor(gd1_cor)
corrplot(aq.cor, method="number")
- 가격과 평형이 상관계수가 약 0.6으로 양의 상관관계
- 가격을 평당가와 비교하면 상관계수가 약 0.78로 증가
-> 더 큰 양의 상관관계
- 즉 가격과 평수는 비교한 변수들 중에서 가장 큰 양의 상관관계, 정비례 관계
- 신축 건물일수록 가격이 비쌀 것이라는 예상과는 다르게, 건축 년대와 가격은 상관계수가 약 0.15로 상관관계가 없어 보임
- 층과 가격도 큰 상관관계가 없음
- 정리 : 가격에 가장 영향을 많이 주는 변수는 평형이다.
# 지역별, 평형별, 건축년대별 가격 통계값과 그래프
# ( 평균, 최대값, 최소값, 개수 )
##############################
## 지역별 가격 통계
##############################
#시도명별 매매 가격
length(table(gd1$시도명)) #시도명 길이 : 17
# 평균
sido_mean_1 <- tapply(gd1$보증금,gd1$시도명,mean)
sido_mean_1 <- sort(sido_mean_1, decreasing = T)
sido_mean_1
barplot(sido_mean_1,
col = c('orangered', 'seagreen', 'royalblue'),
ylim = c(0,40000),
xlab = "시도명", ylab="가격(만원)",
main="시도명별 매매 가격 평균")
# 최대값
sido_max_1 <- tapply(gd1$보증금,gd1$시도명,max)
sido_max_1 <- sort(sido_max_1, decreasing = T)
sido_max_1
barplot(sido_max_1,
col = c('orangered', 'seagreen', 'royalblue'),
ylim = c(0,800000),
xlab = "시도명", ylab="가격(만원)",
main="시도명별 매매 가격 최고값")
# 최소값
sido_min_1 <- tapply(gd1$보증금,gd1$시도명,min)
sido_min_1 <- sort(sido_min_1, decreasing = T)
sido_min_1
barplot(sido_min_1,
col = c('orangered', 'seagreen', 'royalblue'),
ylim = c(0,2000),
xlab = "시도명", ylab="가격(만원)",
main="시도명별 매매 가격 최저값")
# 개수
sido_count_1 <- table(gd1$시도명)
sido_count_1 <- sort(sido_count_1, decreasing = T)
sido_count_1
barplot(sido_count_1,
col = c('orangered', 'seagreen', 'royalblue'),
ylim = c(0,250000),
xlab = "시도명", ylab="개수",
main="시도명별 매매 건물 개수")
sido_table <- cbind(sido_count_1, sido_mean_1, sido_max_1, sido_min_1)
View(sido_table)
##############################
## 평형별 가격 통계
##############################
# 상관계수가 가장 높았던 평형, 평형별 가격 통계
# 가격구분 '매매'의 평형분류별 통계값
par(mfrow = c(2,2))
# 평균
pyeong_mean_1 <- tapply(gd1$보증금,gd1$평형분류,mean)
pyeong_mean_1 <- sort(pyeong_mean_1, decreasing = T)
pyeong_mean_1
barplot(pyeong_mean_1 ,
col = c('orangered', 'seagreen', 'royalblue'),
ylim = c(0,150000),
xlab = "평형분류", ylab="가격(만원)",
main = "'매매'의 평형 분류별 가격 평균")
# 최대값
pyeong_max_1 <- tapply(gd1$보증금,gd1$평형분류,max)
pyeong_max_1 <- sort(pyeong_max_1, decreasing = T)
pyeong_max_1
barplot(pyeong_max_1 ,
col = c('orangered', 'seagreen', 'royalblue'),
ylim = c(0,800000),
xlab = "평형분류", ylab="가격(만원)",
main = "'매매'의 평형 분류별 가격 최고값")
# 최소값
pyeong_min_1 <- tapply(gd1$보증금,gd1$평형분류,min)
pyeong_min_1 <- sort(pyeong_min_1, decreasing = T)
pyeong_min_1
barplot(pyeong_min_1 ,
col = c('orangered', 'seagreen', 'royalblue'),
ylim = c(0,7000),
xlab = "평형분류", ylab="가격(만원)",
main = "'매매'의 평형 분류별 가격 최저값")
# 개수
pyeong_count_1 <- table(gd1$평형분류)
pyeong_count_1 <- sort(pyeong_count_1, decreasing = T)
pyeong_count_1
barplot(pyeong_count_1 ,
col = c('orangered', 'seagreen', 'royalblue'),
ylim = c(0,450000),
xlab = "평형분류", ylab="가격(만원)",
main = "'매매'의 평형 분류별 건물 개수")
##############################
## 건축년대별 가격
##############################
# 상관계수가 가장 낮았던 건축년대, 건축년대별 가격 통계
# 가격구분 '매매'의 건축년대별 가격 통계값
par(mfrow = c(2,2))
# 평균
byear_mean_1 <- tapply(gd1$보증금,gd1$건축년대,mean)
byear_mean_1 <- sort(byear_mean_1, decreasing = T)
byear_mean_1
barplot(byear_mean_1,
col = c('orangered', 'seagreen', 'royalblue'),
ylim = c(0,40000),
xlab = "건축년대", ylab="가격(만원)",
main = "'매매'의 건축년대별 가격 평균")
# 1970년대 지어진 공동주택 평균 가격이 왜 가장 비쌀까?
# 최대값
byear_max_1 <- tapply(gd1$보증금,gd1$건축년대,max)
byear_max_1 <- sort(byear_max_1, decreasing = T)
byear_max_1
barplot(byear_max_1,
col = c('orangered', 'seagreen', 'royalblue'),
ylim = c(0,900000),
xlab = "건축년대", ylab="가격(만원)",
main = "'매매'의 건축년대별 가격 최고값")
# 최소값
byear_min_1 <- tapply(gd1$보증금,gd1$건축년대,min)
byear_min_1 <- sort(byear_min_1, decreasing = F)
barplot(byear_min_1,
col = c(heat.colors(7)),
ylim = c(0,15000),
xlab = "건축년대", ylab="가격(만원)",
main = "'매매'의 건축년대별 가격 최저값")
# 개수
byear_count_1 <- table(gd1$건축년대)
byear_count_1 <- sort(byear_count_1, decreasing = T)
barplot(byear_count_1,
col = c('orangered', 'seagreen', 'royalblue'),
ylim = c(0,300000),
xlab = "건축년대", ylab="개수",
main = "건축년대별 '매매' 건물 개수")
=> 건축년대별 가격 평균을 더 자세히 살펴보자!!
>> 다음 게시물
'R 과 데이터분석 > [활용] 공동주택 가격 분석' 카테고리의 다른 글
[R 데이터분석] 공동주택 가격현황분석 - (5) 상관, 회귀분석 (0) | 2019.11.28 |
---|---|
[R 데이터분석] 공동주택 가격현황분석 - (4) 교차분석 (0) | 2019.11.28 |
[R 데이터분석] 공동주택 가격현황분석 - (2) 데이터 전처리 (0) | 2019.11.28 |
[R 데이터분석] 공동주택 가격현황분석 - (1) 개요 (0) | 2019.11.28 |
댓글