[purrr, 다수의 회귀분석, 테이블 합치기 join ] part 2 공공데이터 R 프로그램 기초 아파트

   다수의 회귀분석을 들어 갈 것인데,  다수의 회귀 분석에 들어가기 앞서서,  데이터 정리를 앞시간에 하였다.   앞 글에서 보았던 내용을 미리, 코딩 한 다음에 와야 아래의 내용을 이어 나갈 수 있다. 

   여기를 클릭 하시어 내용을 확인 하십시오.


  회귀분석을 다수로 할 수 있는 아파트 단지가 있는데, 2017.6~ 2021.3 까지 아파트 거래가 7건이상인 단지는 4,404이다.   이것을 전부 회귀 모형을 돌려서 R제곱 , Y 절편, 기울기를 한꺼번에  구할 것이다. 

이것을 구할 수 있는 방법은  for 루프문,  lapply, data.table등 여러가지가 있다. 물론 멀티 연산도 있다.   하지만,  이번에는 purrr을 이용해서 할 것이다. 


1. 다수의 회귀분석 4,404  단지 

# 모델식을 함수로 정의 한다.    
  area_model <- function(df){
    lm(평당가격~ 계약일자, data = df)
  }
  

# nest 함수를 이용 데이터 프레임안에 모델결과 리스트 삽임     
  by_area_fit <-  apt %>% 
    group_by(NO) %>% 
    nest() %>% 
    mutate(fit =map(data,area_model))
  
  
# map 함수를 이용하여, 데이터 프레임 안에 있는 list 가져오기 
  system.time(  
  
      result <- by_area_fit %>%         
      mutate(
        coef_fit = map(fit, coef),
        inter = map_dbl(coef_fit,1),
        coefficient = map_dbl(coef_fit,2),
        glance  = map(fit, broom::glance),
        rsq     = glance %>% map_dbl("r.squared")) %>% 
      select(-data, -fit, -coef_fit, -glance)
      
  )
##    user  system elapsed 
##  17.675   0.000  17.676
  head(result)
## # A tibble: 6 x 4
## # Groups:   NO [6]
##   NO       inter coefficient   rsq
##   <chr>    <dbl>       <dbl> <dbl>
## 1 10002  -24954.        1.74 0.580
## 2 10003  -28914.        1.89 0.715
## 3 10004  -25262.        1.63 0.765
## 4 10005 -101943.        6.40 0.675
## 5 10006 -139360.        8.51 0.819
## 6 10007  -48794.        3.15 0.736

어찌 되었든 결과는 나왔다.  거의 대부분의 아파트가 rsq  가 0.5 이상으로 추세적으로 오르고 있었다.    아직까지는 한계가 있는 것은 아니다,  다만  아파트 데이터 셋을 보면,  아파트만 나오는게 아니라,  원룸이나 오피스텔이 나오는데,  그 것은 가격에 대한 변동율이 거의 없었다.   


2. 부동산 정책 이후 가격변동이 적었던 아파트 단지 
아래와 같이 평수도 25평이상이고,  가격 변동이 많지 않았던 단지를 알아 볼 것이다. 

   apt_df %>% 
     left_join(result) %>%
     filter(전용면적_m3 > 72) %>% 
     filter(rsq < 0.2) %>% 
     filter(계약년월 >= "202101" ) %>% 
     filter(거래금액_만원 <= 40000) %>% 
     select(시군구, 단지명, 거래금액_만원, 건축년도)
##                       시군구                       단지명 거래금액_만원     건축년도
## 1 서울특별시 동대문구 장안동 르메이에르장안타운II(342-11)         40000       2005
## 2   서울특별시 강북구 수유동                     삼성타운         38500       2008
## 3   서울특별시 노원구 상계동                 충효파크타운         31000       2006
## 4     서울특별시 도봉구 창동                     DK포시즌         28500       2003

위의 있는 동네 사는 사람이 강남에 가려면,  시간이 많이 걸리는  지역이고,  건축 한지가 오래된 아파트이다.  이곳에 사시는 분들은 서울에 사시 지만 부동산 정책에 영향을 받지 않은 지역의 사람이다.  (※ 여기에서 오피스텔은 제외 하였다.  오피스텔은 부동산 정책에 영향을 받지 않은 단지가 많다.)

 가격 오름 폭이 크던  많았던 아파트 단지를 찾을려고 하였으나,  이것은 별도의 계산 방식을 사용하여야 한다. 

 

댓글 없음:

댓글 쓰기

css cheat sheet 클래스 선택자, margin(마진), display , center 조정 간단한 구성 요소

 앞에서는 html의 간단한 sheet를 소개 하였습니다.   html은  주로 골격을 나타나는 것이라, 디자인을 하는데는 css로 하여야 합니다.  아래 코드와 같이 css 관련 하여 매우 간단하게 코딩 하겠습니다.  body 부분의 css 코딩  ...