options(repos = c(CRAN = "https://cran.rstudio.com"))

install.packages("readr")
## 'C:/Users/passi/AppData/Local/R/win-library/4.3'의 위치에 패키지(들)을 설치합니다.
## (왜냐하면 'lib'가 지정되지 않았기 때문입니다)
## 패키지 'readr'를 성공적으로 압축해제하였고 MD5 sums 이 확인되었습니다
## Warning: 패키지 'readr'의 이전설치를 삭제할 수 없습니다
## Warning in file.copy(savedcopy, lib, recursive = TRUE):
## C:\Users\passi\AppData\Local\R\win-library\4.3\00LOCK\readr\libs\x64\readr.dll를
## C:\Users\passi\AppData\Local\R\win-library\4.3\readr\libs\x64\readr.dll로
## 복사하는데 문제가 발생했습니다: Permission denied
## Warning: 'readr'를 복구하였습니다
## 
## 다운로드된 바이너리 패키지들은 다음의 위치에 있습니다
##  C:\Users\passi\AppData\Local\Temp\Rtmpe6pwwm\downloaded_packages
library(readr)
## Warning: 패키지 'readr'는 R 버전 4.3.2에서 작성되었습니다
library(dplyr)
## 
## 다음의 패키지를 부착합니다: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(car)
## Warning: 패키지 'car'는 R 버전 4.3.2에서 작성되었습니다
## 필요한 패키지를 로딩중입니다: carData
## Warning: 패키지 'carData'는 R 버전 4.3.2에서 작성되었습니다
## 
## 다음의 패키지를 부착합니다: 'car'
## The following object is masked from 'package:dplyr':
## 
##     recode
data <- read_csv("https://raw.githubusercontent.com/rich-hyun/data_sets/main/kufa_4_data.csv")
## Rows: 3 Columns: 19
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## dbl (19): 0, 2019/Q1, 2019/Q2, 2019/Q3, 2019/Q4, 2020/Q1, 2020/Q2, 2020/Q3, ...
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
# 데이터의 첫 번째 열을 제거합니다
data <- select(data, -1)

# '1', '2', '3'행을 각각 company, mul, consum 변수에 할당
company <- data[1, ]
mul <- data[2, ]
consum <- data[3, ]

# 시범
print(company)
## # A tibble: 1 × 18
##   `2019/Q1` `2019/Q2` `2019/Q3` `2019/Q4` `2020/Q1` `2020/Q2` `2020/Q3`
##       <dbl>     <dbl>     <dbl>     <dbl>     <dbl>     <dbl>     <dbl>
## 1      5.08      4.87      4.14      0.33      3.49      3.59      4.63
## # ℹ 11 more variables: `2020/Q4` <dbl>, `2021/Q1` <dbl>, `2021/Q2` <dbl>,
## #   `2021/Q3` <dbl>, `2021/Q4` <dbl>, `2022/Q1` <dbl>, `2022/Q2` <dbl>,
## #   `2022/Q3` <dbl>, `2022/Q4` <dbl>, `2023/Q1` <dbl>, `2023/Q2` <dbl>
print(mul)
## # A tibble: 1 × 18
##   `2019/Q1` `2019/Q2` `2019/Q3` `2019/Q4` `2020/Q1` `2020/Q2` `2020/Q3`
##       <dbl>     <dbl>     <dbl>     <dbl>     <dbl>     <dbl>     <dbl>
## 1    -0.348     0.436    -0.072     0.278     0.316    -0.513     0.637
## # ℹ 11 more variables: `2020/Q4` <dbl>, `2021/Q1` <dbl>, `2021/Q2` <dbl>,
## #   `2021/Q3` <dbl>, `2021/Q4` <dbl>, `2022/Q1` <dbl>, `2022/Q2` <dbl>,
## #   `2022/Q3` <dbl>, `2022/Q4` <dbl>, `2023/Q1` <dbl>, `2023/Q2` <dbl>
print(consum)
## # A tibble: 1 × 18
##   `2019/Q1` `2019/Q2` `2019/Q3` `2019/Q4` `2020/Q1` `2020/Q2` `2020/Q3`
##       <dbl>     <dbl>     <dbl>     <dbl>     <dbl>     <dbl>     <dbl>
## 1       1.7     0.067     -3.83      4.83     -6.67     -15.9         7
## # ℹ 11 more variables: `2020/Q4` <dbl>, `2021/Q1` <dbl>, `2021/Q2` <dbl>,
## #   `2021/Q3` <dbl>, `2021/Q4` <dbl>, `2022/Q1` <dbl>, `2022/Q2` <dbl>,
## #   `2022/Q3` <dbl>, `2022/Q4` <dbl>, `2023/Q1` <dbl>, `2023/Q2` <dbl>
# 병합
regression_data <- data.frame(company = unlist(company), mul = unlist(mul), consum = unlist(consum))

# 다중회귀분석
model <- lm(mul ~ company + consum, data = regression_data)
summary(model)
## 
## Call:
## lm(formula = mul ~ company + consum, data = regression_data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.02271 -0.35396 -0.04059  0.44548  1.07558 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)  
## (Intercept) -0.063552   0.301196  -0.211   0.8357  
## company      0.142691   0.053684   2.658   0.0179 *
## consum       0.007879   0.021539   0.366   0.7196  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.6023 on 15 degrees of freedom
## Multiple R-squared:  0.3224, Adjusted R-squared:  0.2321 
## F-statistic: 3.569 on 2 and 15 DF,  p-value: 0.05397
# 다중공선성
vif_values <- vif(model)

# VIF
print(vif_values)
##  company   consum 
## 1.001308 1.001308
# 잔차
residuals <- residuals(model)

# QQ 플롯
qqnorm(residuals)
qqline(residuals, col = "red")