본문 바로가기
R 과 데이터분석/[활용] 공동주택 가격 분석

[R 데이터분석] 공동주택 가격현황분석 - (3) EDA 및 통계분석

by JoyfulS 2019. 11. 28.

 

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 데이터분석] 공동주택 가격현황분석 - (4) 교차분석

댓글