<!DOCTYPE html> final1

final1

데이터 소개

library(readxl)
data_raw <- read_excel("/cloud/project/bigdatafin.xlsx", sheet="raw")
New names:
• `` -> `...2`
• `` -> `...3`
• `` -> `...4`
• `` -> `...5`
• `` -> `...6`
• `` -> `...7`
• `` -> `...8`
• `` -> `...9`
• `` -> `...10`
• `` -> `...11`
• `` -> `...12`
• `` -> `...13`
• `` -> `...14`
• `` -> `...15`
• `` -> `...16`
• `` -> `...17`
• `` -> `...18`
• `` -> `...19`
• `` -> `...20`
• `` -> `...21`
• `` -> `...22`
• `` -> `...23`
• `` -> `...24`
• `` -> `...25`
• `` -> `...26`
• `` -> `...27`
print(data_raw)
# A tibble: 238 × 27
   노인요양시설 현황(202…¹ ...2  ...3  ...4  ...5  ...6  ...7  ...8  ...9  ...10
   <chr>                   <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
 1 <NA>                     <NA> <NA>  <NA>  <NA>  <NA>   <NA> <NA>  <NA>  <NA> 
 2 연번                    "관…  장기… 기관… 설립… 법인… "병…  지정… 이용… <NA> 
 3 <NA>                     <NA> <NA>  <NA>  <NA>  <NA>   <NA> <NA>  정원  현원 
 4 1                       "종…  1111… 청운… 비영… 사회…  <NA> 2008… 45    41   
 5 2                       "종…  1111… 인자… 영리… 주식…  <NA> 2010… 42    42   
 6 3                       "종…  1111… 평창… 개인  <NA>   <NA> 2010… 68    68   
 7 4                       "종…  1111… 아름… 개인  <NA>   <NA> 2011… 38    38   
 8 5                       "종…  1111… 서울… 비영… 학교…  <NA> 2013… 38    35   
 9 6                       "종…  1111… 세검… 개인  <NA>   <NA> 2014… 23    18   
10 7                       "종…  1111… 해피… 개인  <NA>   <NA> 2015… 77    69   
# ℹ 228 more rows
# ℹ abbreviated name: ¹​`노인요양시설 현황(2022.12.31.기준)\r\n`
# ℹ 17 more variables: ...11 <chr>, ...12 <chr>, ...13 <chr>, ...14 <chr>,
#   ...15 <chr>, ...16 <chr>, ...17 <chr>, ...18 <chr>, ...19 <chr>,
#   ...20 <chr>, ...21 <chr>, ...22 <chr>, ...23 <chr>, ...24 <chr>,
#   ...25 <chr>, ...26 <chr>, ...27 <chr>

이 데이터는 서울시에 있는 노인요양시설 235개에 대해서 정리한 데이터 자료이다. 관할자치구, 장기요양기관기호, 기관명칭, 설립구분, 법인명, 지정일 등 다양한 변수들이 기록되어 있다.

이 데이터셋에서 장기요양기관기호, 기관명칭, 법입명, 지정일, 전화, 기관소재지, 휴업시설을 빼고 관할자치구, 설립구분, 이용자 수, 이용현원 구성, 대기인원, 종사자 수를 담고 결측값을 빼서 새로운 data셋을 만들었다.

data <- read_excel("/cloud/project/bigdatafin.xlsx", sheet="R_data")
print(data)
# A tibble: 235 × 17
   location_1 establish_2 date_3     userall_4 user_now_5 boy_6 girl_7 ill_8
   <chr>      <chr>       <chr>          <dbl>      <dbl> <dbl>  <dbl> <dbl>
 1 종로구     비영리법인  2008-06-25        45         41     0     41    38
 2 종로구     영리법인    2010-07-01        42         42     5     37    40
 3 종로구     개인        2010-11-25        68         68    11     57    45
 4 종로구     개인        2011-08-23        38         38     5     33    27
 5 종로구     비영리법인  2013-05-30        38         35     0     35    11
 6 종로구     개인        2014-02-06        23         18     1     17    13
 7 종로구     개인        2015-08-17        77         69    24     45     9
 8 종로구     개인        2015-12-08        16         16     0     16     2
 9 중구       구립        2012-09-28        60         57    12     45    45
10 중구       구립        2010-02-02        14         13     1     12    13
# ℹ 225 more rows
# ℹ 9 more variables: notill_9 <dbl>, wait_10 <dbl>, workerall_11 <dbl>,
#   socialworker_12 <dbl>, careworker_13 <dbl>, doctor_14 <dbl>,
#   nurse_15 <dbl>, cook_16 <dbl>, otherworker_17 <dbl>

가공된 데이터와 raw 데이터가 존재함.

데이터에 관하여

str(data)
tibble [235 × 17] (S3: tbl_df/tbl/data.frame)
 $ location_1     : chr [1:235] "종로구" "종로구" "종로구" "종로구" ...
 $ establish_2    : chr [1:235] "비영리법인" "영리법인" "개인" "개인" ...
 $ date_3         : chr [1:235] "2008-06-25" "2010-07-01" "2010-11-25" "2011-08-23" ...
 $ userall_4      : num [1:235] 45 42 68 38 38 23 77 16 60 14 ...
 $ user_now_5     : num [1:235] 41 42 68 38 35 18 69 16 57 13 ...
 $ boy_6          : num [1:235] 0 5 11 5 0 1 24 0 12 1 ...
 $ girl_7         : num [1:235] 41 37 57 33 35 17 45 16 45 12 ...
 $ ill_8          : num [1:235] 38 40 45 27 11 13 9 2 45 13 ...
 $ notill_9       : num [1:235] 3 2 23 11 24 5 60 14 12 0 ...
 $ wait_10        : num [1:235] 0 10 0 0 0 0 0 0 70 30 ...
 $ workerall_11   : num [1:235] 26 29 46 24 28 17 54 10 46 17 ...
 $ socialworker_12: num [1:235] 1 2 1 2 2 1 3 1 2 4 ...
 $ careworker_13  : num [1:235] 19 18 33 18 17 10 32 7 28 9 ...
 $ doctor_14      : num [1:235] 0 0 1 0 1 1 1 0 0 0 ...
 $ nurse_15       : num [1:235] 2 3 5 2 2 2 4 1 4 1 ...
 $ cook_16        : num [1:235] 0 2 0 0 2 0 6 0 4 0 ...
 $ otherworker_17 : num [1:235] 4 4 6 2 4 3 8 1 8 3 ...
  1. 데이터는 17개 항목에 대한 235개의 측정값이 있으며, location , establish, date 항목은 character, 그외에 는 numeric 값이다.
sum(is.na(data))
[1] 0
  1. 결측값이 생기지 않도록 데이터를 가공하여 결측값은 없었다.
summary(data)
  location_1        establish_2           date_3            userall_4     
 Length:235         Length:235         Length:235         Min.   : 12.00  
 Class :character   Class :character   Class :character   1st Qu.: 29.00  
 Mode  :character   Mode  :character   Mode  :character   Median : 45.00  
                                                          Mean   : 61.56  
                                                          3rd Qu.: 80.00  
                                                          Max.   :296.00  
   user_now_5         boy_6           girl_7           ill_8       
 Min.   :  0.00   Min.   : 0.00   Min.   :  0.00   Min.   :  0.00  
 1st Qu.: 23.00   1st Qu.: 3.00   1st Qu.: 20.00   1st Qu.: 17.00  
 Median : 38.00   Median : 7.00   Median : 30.00   Median : 29.00  
 Mean   : 53.97   Mean   :10.01   Mean   : 43.96   Mean   : 41.21  
 3rd Qu.: 72.50   3rd Qu.:14.00   3rd Qu.: 57.00   3rd Qu.: 56.00  
 Max.   :296.00   Max.   :72.00   Max.   :235.00   Max.   :227.00  
    notill_9         wait_10         workerall_11    socialworker_12 
 Min.   :  0.00   Min.   :   0.00   Min.   :  1.00   Min.   : 0.000  
 1st Qu.:  0.50   1st Qu.:   0.00   1st Qu.: 17.00   1st Qu.: 1.000  
 Median :  6.00   Median :   0.00   Median : 26.00   Median : 2.000  
 Mean   : 12.76   Mean   :  63.91   Mean   : 38.07   Mean   : 2.566  
 3rd Qu.: 16.00   3rd Qu.:   3.00   3rd Qu.: 50.00   3rd Qu.: 3.000  
 Max.   :193.00   Max.   :2718.00   Max.   :202.00   Max.   :43.000  
 careworker_13      doctor_14         nurse_15         cook_16      
 Min.   :  0.00   Min.   :0.0000   Min.   : 0.000   Min.   : 0.000  
 1st Qu.: 11.00   1st Qu.:0.0000   1st Qu.: 1.000   1st Qu.: 0.000  
 Median : 18.00   Median :1.0000   Median : 2.000   Median : 2.000  
 Mean   : 25.03   Mean   :0.7489   Mean   : 3.196   Mean   : 2.166  
 3rd Qu.: 33.00   3rd Qu.:1.0000   3rd Qu.: 4.000   3rd Qu.: 3.000  
 Max.   :137.00   Max.   :5.0000   Max.   :22.000   Max.   :14.000  
 otherworker_17  
 Min.   : 0.000  
 1st Qu.: 1.000  
 Median : 3.000  
 Mean   : 4.366  
 3rd Qu.: 7.000  
 Max.   :33.000  

데이터를 요약해보면, 요양병원의 정원의 평균은 61.6명 이고 현재는 54명 정도 있다. 도한, 현재 요양병원에 계신 분들 중 남자 평균은 10명이고 여자는 44명이다. 치매에 걸리신 분들은 평균적으로 41명이고 걸리지 않으신 분들은 12명이다. 평균적으로 38명 정도 요양병원에서 종사하시고 있으며 사회복지사는 2명 요양보호사는 25명, 의사는 0.75명, 간호사는 3명, 조리사는 2명 기타 4명 정도 종사한다. 설립일자는 date 데이터로 바꾸는 것이 필요할 것 같다.

데이터 분석

  1. 설립 구분 분석
library(ggplot2)
ggplot(data, aes(x=establish_2))+geom_bar(fill='blue')

  1. 지역별로 어떤 설립이 가장 많은지
ggplot(data, aes(y=location_1, fill=establish_2))+geom_bar()

  1. 어떤 지역에 가장 많이 분포되어 있는지

    ggplot(data, aes( y=location_1))+geom_bar(fill='pink')

  2. 어느 시기에 제일 많이 지어졌는지

    data$yr = as.Date(as.character(data$date_3),"%Y")
    ggplot(data,aes(x=yr, y=userall_4 , col=location_1))+geom_jitter() +scale_x_date((date_labels = "%Y"))

향후 계획

주제 : 우리나라 노령화가 점점 지속되고 있는 사회에서, 노인들이 살기 좋은 시대를 만들기 위해서 필요한 정책은 무엇인가 ( 요양시설과 관련하여 )

  1. 요양시설에 대한 분석

    1. 자치구별로 요양시설의 수는 몇개인가?

    2. 자치구별로 시설의 법인 종류

    3. 전체적인 법인 종류

    4. 어느 시기에 가장 많이 지어졌는가?

    5. 자치구별 노인 인구 대비 요양시설 수는 충분한가?

    6. 자치구별 요양시설의 분포가 균형적인가?

  2. 시설 이용 현황 및 수요

    1. 각 요양시설의 이용자 수와 이용현원구성(성별, 치매환자)은 어떻게 구성되어 있는가?

    2. 성별에 따른 이용자의 비율은 어떠한가?

    3. 치매환자와 비치매환자 이용자의 비율은 어떠한가?

  3. 종사자 구성

    1. 각 시설의 종사자 수와 구성비율은 어떠한가?