๊ฒฉ๋ฆฌ๋ก ์ธํด ๋ง์ ์ฌ๋๋ค์ด ์ด์ ๋๋ถ๋ถ์ ์๊ฐ์ ์ง์์ ๋ณด๋ด๊ณ ์์ผ๋ฉฐ, ์ด ์๊ฐ์ ์ ์ฉํ๊ฒ ๋ณด๋ผ ์ ์๊ณ , ์ฌ์ง์ด ์ฌ์ฉํด์ผ ํฉ๋๋ค.
๊ฒฉ๋ฆฌ๊ฐ ์์๋๋ฉด์ ๋ช ๋ฌ ์ ์ ์์ํ ์ผ๋ถ ํ๋ก์ ํธ๋ฅผ ๋ง๋ฌด๋ฆฌํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ด๋ฌํ ํ๋ก์ ํธ ์ค ํ๋๋ "Excel ์ฌ์ฉ์๋ฅผ ์ํ R ์ธ์ด"๋ผ๋ ๋น๋์ค ๊ฐ์ข์์ต๋๋ค. ์ด ๊ณผ์ ์ ํตํด ์ ๋ R์ ๋ํ ์ง์ ์ฅ๋ฒฝ์ ๋ฎ์ถ๊ณ ์ด ์ฃผ์ ์ ๋ํ ๋ฌ์์์ด ๊ต์ก ์๋ฃ์ ๋ถ์กฑ์ ์ฝ๊ฐ ๋ฉ์ฐ๊ณ ์ถ์์ต๋๋ค.
๊ทํ๊ฐ ์ผํ๋ ํ์ฌ์ ๋ชจ๋ ๋ฐ์ดํฐ ์์ ์ด ์ฌ์ ํ Excel์์ ์ํ๋๋ค๋ฉด, ๋ณด๋ค ํ๋์ ์ด๊ณ ๋์์ ์์ ํ ๋ฌด๋ฃ์ธ ๋ฐ์ดํฐ ๋ถ์ ๋๊ตฌ์ ๋ํด ์์๋ณด๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ด์ฉ
๋ฐ์ดํฐ ๋ถ์์ ๊ด์ฌ์ด ์๋ค๋ฉด ์ ๊ธ์๋ ๊ด์ฌ์ด ์์ผ์ค ๊ฒ๋๋ค.
์ฐธ์กฐ ์ฝ์ค ์๊ฐ ์ด ๊ฐ์ข๋ ๋๊ตฌ๋ฅผ ์ํ ๊ฐ์ข์ธ๊ฐ์? ์ฝ์ค ํ๋ก๊ทธ๋จ
4.1.ํ์ต 1: R ์ธ์ด ๋ฐ RStudio ๊ฐ๋ฐ ํ๊ฒฝ ์ค์น
4.2.์๋จ์ 2: R์ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ๊ตฌ์กฐ
4.3.๊ฐ์ 3: TSV, CSV, Excel ํ์ผ ๋ฐ Google Sheets์์ ๋ฐ์ดํฐ ์ฝ๊ธฐ
4.4.๋ ์จ 4: R์์ ํ ํํฐ๋ง, ์ด ์ ํ ๋ฐ ์ด๋ฆ ๋ฐ๊พธ๊ธฐ, ํ์ดํ๋ผ์ธ
4.5.์๋จ์ 5: R์ ํ ์ด๋ธ์ ๊ณ์ฐ๋ ์ด ์ถ๊ฐ
4.6.์๋จ์ 6: R์์ ๋ฐ์ดํฐ ๊ทธ๋ฃนํ ๋ฐ ์ง๊ณ
4.7.์๋จ์ 7: R์์ ํ ์ด๋ธ์ ์์ง ๋ฐ ์ํ ์กฐ์ธ
4.8.์๋จ์ 8: R์ ์ฐฝ ํจ์
4.9.๋ ์จ 9: R์ ํ ์ด๋ธ ํ์ ๋๋ ํผ๋ฒ ํ ์ด๋ธ ์ ์ฌ
4.10.์๋จ์ 10: R์์ JSON ํ์ผ ๋ก๋ ๋ฐ ๋ชฉ๋ก์ ํ ์ด๋ธ๋ก ๋ณํ
4.11.์๋จ์ 11: qplot() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋น ๋ฅด๊ฒ ํ๋กํ
4.12.ํ์ต 12: ggplot2 ํจํค์ง๋ฅผ ์ฌ์ฉํ์ฌ ๋ ์ด์ด๋ณ๋ก ํ๋กฏ ๊ทธ๋ฆฌ๊ธฐ ๊ฒฐ๋ก
์ฐธ์กฐ
์ฝ์ค ์๊ฐ
์ด ๊ณผ์ ์ ๊ฑด์ถ์ ์ค์ฌ์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. tidyverse
, ๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ์ ํฌํจ๋ ํจํค์ง: readr
, vroom
, dplyr
, tidyr
, ggplot2
. ๋ฌผ๋ก R์๋ ์ ์ฌํ ์์
์ ์ํํ๋ ๋ค๋ฅธ ์ข์ ํจํค์ง๊ฐ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด data.table
, ๊ทธ๋ฌ๋ ๊ตฌ๋ฌธ์ tidyverse
์ง๊ด์ ์ด๊ณ , ํ๋ จ๋ฐ์ง ์์ ์ฌ์ฉ์๋ ์ฝ๊ธฐ ์ฝ๊ธฐ ๋๋ฌธ์ R ์ธ์ด๋ฅผ ๋ฐฐ์ฐ๊ธฐ ์์ํ๋ ๊ฒ์ด ๋ ์ข๋ค๊ณ ์๊ฐํฉ๋๋ค. tidyverse
.
์ด ๊ณผ์ ์์๋ ๋ก๋๋ถํฐ ์ต์ข ๊ฒฐ๊ณผ ์๊ฐํ๊น์ง ๋ชจ๋ ๋ฐ์ดํฐ ๋ถ์ ์์ ์ ์๋ดํฉ๋๋ค.
์ Python์ด ์๋๊ณ R์ธ๊ฐ์? R์ ํจ์ํ ์ธ์ด์ด๊ธฐ ๋๋ฌธ์ Excel ์ฌ์ฉ์๊ฐ R๋ก ์ ํํ๋ ๊ฒ์ด ๋ ์ฝ์ต๋๋ค. ์ ํต์ ์ธ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ๊น์ด ํ๊ณ ๋ค ํ์๊ฐ ์์ต๋๋ค.
ํ์ฌ 12๊ฐ์ ๋น๋์ค ๊ฐ์๊ฐ ๊ณํ๋์ด ์์ผ๋ฉฐ ๊ฐ๊ฐ 5~20๋ถ์ฉ ์งํ๋ฉ๋๋ค.
๊ฐ์ข๋ ์์ฐจ์ ์ผ๋ก ์คํ๋ฉ๋๋ค. ๋งค์ฃผ ์์์ผ๋ง๋ค ๋ด ์น์ฌ์ดํธ์์ ์๋ก์ด ๊ฐ์๋ฅผ ์ ํ ์ ์์ต๋๋ค.
์ด ๊ฐ์ข๋ ๋๊ตฌ๋ฅผ ์ํ ๊ฐ์ข์ธ๊ฐ์?
์ ๋ชฉ์์ ์ด๊ฒ์ด ๋ถ๋ช ํ๋ค๊ณ ์๊ฐํ์ง๋ง ๋ ์์ธํ ์ค๋ช ํ๊ฒ ์ต๋๋ค.
๋ณธ ๊ณผ์ ์ Microsoft Excel์ ์ ๋ฌด์ ์ ๊ทน์ ์ผ๋ก ์ฌ์ฉํ๊ณ ๋ชจ๋ ์ ๋ฌด๋ฅผ Excel์์ ๋ฐ์ดํฐ๋ก ๊ตฌํํ๋ ์ฌ๋๋ค์ ๋์์ผ๋ก ํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ผ์ฃผ์ผ์ ํ ๋ฒ ์ด์ Microsoft Excel ์์ฉ ํ๋ก๊ทธ๋จ์ ์ด๋ฉด ํด๋น ๊ณผ์ ์ด ๊ทํ์๊ฒ ์ ํฉํฉ๋๋ค.
๊ณผ์ ์ ์ด์ํ๊ธฐ ์ํด ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ ์ด ํ์ํ์ง ์์ต๋๋ค. ์๋ํ๋ฉด... ์ด ๊ฐ์ข๋ ์ด๋ณด์๋ฅผ ๋์์ผ๋ก ํฉ๋๋ค.
ํ์ง๋ง ์๋ง๋ 4๊ฐ๋ถํฐ ํ์ฑ R ์ฌ์ฉ์๋ฅผ ์ํ ํฅ๋ฏธ๋ก์ด ์๋ฃ๋ ์์ ๊ฒ์
๋๋ค. ์๋ํ๋ฉด... ๋ค์๊ณผ ๊ฐ์ ํจํค์ง์ ์ฃผ์ ๊ธฐ๋ฅ dplyr
ะธ tidyr
์ข ๋ ์์ธํ ๋
ผ์๋ ๊ฒ์ด๋ค.
์ฝ์ค ํ๋ก๊ทธ๋จ
ํ์ต 1: R ์ธ์ด ๋ฐ RStudio ๊ฐ๋ฐ ํ๊ฒฝ ์ค์น
์ถํ ์ผ : ์ 23 2020
๋งํฌ :
๋น๋์ค :
์ค๋ช
:
ํ์ํ ์ํํธ์จ์ด๋ฅผ ๋ค์ด๋ก๋ ๋ฐ ์ค์นํ๊ณ RStudio ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ธฐ๋ฅ๊ณผ ์ธํฐํ์ด์ค๋ฅผ ๊ฐ๋ตํ๊ฒ ์ดํด๋ณด๋ ์
๋ฌธ ๊ฐ์์
๋๋ค.
์๋จ์ 2: R์ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ๊ตฌ์กฐ
์ถํ ์ผ : ์ 30 2020
๋งํฌ :
๋น๋์ค :
์ค๋ช
:
์ด ๊ฐ์์์๋ R ์ธ์ด์์ ์ด๋ค ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ ์ ์๋์ง ์ดํดํ๋ ๋ฐ ๋์์ด ๋๋ฉฐ ๋ฒกํฐ, ๋ ์ง ํ๋ ์ ๋ฐ ๋ชฉ๋ก์ ๋ํด ์์ธํ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ด๋ฅผ ์์ฑํ๊ณ ๊ฐ๋ณ ์์์ ์ก์ธ์คํ๋ ๋ฐฉ๋ฒ์ ์์ ๋ณด๊ฒ ์ต๋๋ค.
๊ฐ์ 3: TSV, CSV, Excel ํ์ผ ๋ฐ Google Sheets์์ ๋ฐ์ดํฐ ์ฝ๊ธฐ
์ถํ ์ผ : 4์ 6 2020
๋งํฌ :
๋น๋์ค :
์ค๋ช
:
๋๊ตฌ์ ๊ด๊ณ์์ด ๋ฐ์ดํฐ ์์
์ ์ถ์ถ๋ถํฐ ์์๋ฉ๋๋ค. ํจํค์ง๋ ์์
์ค์ ์ฌ์ฉ๋ฉ๋๋ค. vroom
, readxl
, googlesheets4
csv, tsv, Excel ํ์ผ ๋ฐ Google Sheets์์ R ํ๊ฒฝ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ก๋ํฉ๋๋ค.
๋ ์จ 4: R์์ ํ ํํฐ๋ง, ์ด ์ ํ ๋ฐ ์ด๋ฆ ๋ฐ๊พธ๊ธฐ, ํ์ดํ๋ผ์ธ
์ถํ ์ผ : 4์ 13 2020
๋งํฌ :
๋น๋์ค :
์ค๋ช
:
์ด๋ฒ ๊ฐ์๋ ํจํค์ง์ ๊ดํ ๊ฒ์
๋๋ค. dplyr
. ์ฌ๊ธฐ์๋ ๋ฐ์ดํฐํ๋ ์์ ํํฐ๋งํ๊ณ ํ์ํ ์ด์ ์ ํํ๊ณ ์ด๋ฆ์ ๋ฐ๊พธ๋ ๋ฐฉ๋ฒ์ ์์๋ด
๋๋ค.
๋ํ ํ์ดํ๋ผ์ธ์ด ๋ฌด์์ธ์ง, ํ์ดํ๋ผ์ธ์ด R ์ฝ๋๋ฅผ ๋ ์ฝ๊ธฐ ์ฝ๊ฒ ๋ง๋๋ ๋ฐ ์ด๋ป๊ฒ ๋์์ด ๋๋์ง ์์๋ณผ ๊ฒ์ ๋๋ค.
์๋จ์ 5: R์ ํ ์ด๋ธ์ ๊ณ์ฐ๋ ์ด ์ถ๊ฐ
์ถํ ์ผ : 4์ 20 2020
๋งํฌ :
๋น๋์ค :
์ค๋ช
:
์ด ๋น๋์ค์์ ์ฐ๋ฆฌ๋ ๋์๊ด์ ๋ํ ์น๋ถ์ ์ด์ด๊ฐ๋๋ค. tidyverse
๊ทธ๋ฆฌ๊ณ ํจํค์ง dplyr
.
ํจ์๊ตฐ์ ์ดํด๋ณด์ mutate()
, ์ด๋ฅผ ์ฌ์ฉํ์ฌ ํ
์ด๋ธ์ ์๋ก์ด ๊ณ์ฐ๋ ์ด์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ ์์๋ด
๋๋ค.
์๋จ์ 6: R์์ ๋ฐ์ดํฐ ๊ทธ๋ฃนํ ๋ฐ ์ง๊ณ
์ถํ ์ผ : 4์ 27 2020
๋งํฌ :
๋น๋์ค :
์ค๋ช
:
์ด ๊ฐ์์์๋ ๋ฐ์ดํฐ ๋ถ์, ๊ทธ๋ฃนํ ๋ฐ ์ง๊ณ์ ์ฃผ์ ์์
์ค ํ๋๋ฅผ ๋ค๋ฃน๋๋ค. ์์
์ค์ ์ฐ๋ฆฌ๋ ํจํค์ง๋ฅผ ์ฌ์ฉํ ๊ฒ์
๋๋ค dplyr
๋ฐ ๊ธฐ๋ฅ group_by()
ะธ summarise()
.
์ฐ๋ฆฌ๋ ์ ์ฒด ๊ธฐ๋ฅ๊ตฐ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค. summarise()
์ฆ, summarise()
, summarise_if()
ะธ summarise_at()
.
์๋จ์ 7: R์์ ํ ์ด๋ธ์ ์์ง ๋ฐ ์ํ ์กฐ์ธ
์ถํ ์ผ : ์ 4 2020
๋งํฌ :
๋น๋์ค :
์ค๋ช
:
์ด ๋จ์์์๋ ํ
์ด๋ธ์ ์์ง ๋ฐ ์ํ ๊ฒฐํฉ ์์
์ ์ดํดํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
์์ง Union์ SQL ์ฟผ๋ฆฌ ์ธ์ด์ UNION ์ฐ์ฐ๊ณผ ๋์ผํฉ๋๋ค.
์ํ ์กฐ์ธ์ VLOOKUP ํจ์ ๋๋ถ์ Excel ์ฌ์ฉ์์๊ฒ ๋ ์ ์๋ ค์ ธ ์์ผ๋ฉฐ, SQL์์๋ ์ด๋ฌํ ์์ ์ด JOIN ์ฐ์ฐ์์ ์ํด ์ํ๋ฉ๋๋ค.
์์
์ค์ ํจํค์ง๋ฅผ ์ฌ์ฉํ๋ ์ค์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค. dplyr
, readxl
, tidyr
ะธ stringr
.
์ฐ๋ฆฌ๊ฐ ๊ณ ๋ คํ ์ฃผ์ ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
bind_rows()
- ํ ์ด๋ธ์ ์์ง ์กฐ์ธleft_join()
โ ํ ์ด๋ธ์ ์ํ ์กฐ์ธsemi_join()
- ํ ์ด๋ธ ์กฐ์ธ ํฌํจanti_join()
- ๋จ๋ ํ ์ด๋ธ ์กฐ์ธ
์๋จ์ 8: R์ ์ฐฝ ํจ์
์ถํ ์ผ : ์ 11 2020
๋งํฌ :
์ค๋ช
:
์ฐฝ ํจ์๋ ์ง๊ณ ํจ์์ ์๋ฏธ๊ฐ ์ ์ฌํฉ๋๋ค. ๋ํ ๊ฐ ๋ฐฐ์ด์ ์
๋ ฅ์ผ๋ก ๊ฐ์ ธ์ ์ฐ์ ์ฐ์ฐ์ ์ํํ์ง๋ง ์ถ๋ ฅ ๊ฒฐ๊ณผ์ ํ ์๋ฅผ ๋ณ๊ฒฝํ์ง ์์ต๋๋ค.
์ด ํํ ๋ฆฌ์ผ์์๋ ํจํค์ง์ ๋ํด ๊ณ์ ์ฐ๊ตฌํฉ๋๋ค. dplyr
๋ฐ ๊ธฐ๋ฅ group_by()
, mutate()
, ๋ฟ๋ง ์๋๋ผ ์๋ก์ด cumsum()
, lag()
, lead()
ะธ arrange()
.
๋ ์จ 9: R์ ํ ์ด๋ธ ํ์ ๋๋ ํผ๋ฒ ํ ์ด๋ธ ์ ์ฌ
์ถํ ์ผ : ์ 18 2020
๋งํฌ :
์ค๋ช
:
๋๋ถ๋ถ์ Excel ์ฌ์ฉ์๋ ํผ๋ฒ ํ
์ด๋ธ์ ์ฌ์ฉํฉ๋๋ค. ์ด๋ ์์ ๋ฐ์ดํฐ ๋ฐฐ์ด์ ๋ช ์ด ๋ง์ ์ฝ์ ์ ์๋ ๋ณด๊ณ ์๋ก ๋ณํํ ์ ์๋ ํธ๋ฆฌํ ๋๊ตฌ์
๋๋ค.
์ด ํํ ๋ฆฌ์ผ์์๋ R์์ ํ ์ด๋ธ์ ํ์ ํ๋ ๋ฐฉ๋ฒ๊ณผ ๋์ ํ์์์ ๊ธด ํ์์ผ๋ก ๋๋ ๊ทธ ๋ฐ๋๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๋๋ถ๋ถ์ ์์
์ ํจํค์ง์ ์ ๋
ํฉ๋๋ค. tidyr
๋ฐ ๊ธฐ๋ฅ pivot_longer()
ะธ pivot_wider()
.
์๋จ์ 10: R์์ JSON ํ์ผ ๋ก๋ ๋ฐ ๋ชฉ๋ก์ ํ ์ด๋ธ๋ก ๋ณํ
์ถํ ์ผ : ์ 25 2020
๋งํฌ :
์ค๋ช
:
JSON๊ณผ XML์ ์ผ๋ฐ์ ์ผ๋ก ์์ถ์ฑ์ผ๋ก ์ธํด ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ ๊ตํํ๋ ๋ฐ ๋งค์ฐ ๋๋ฆฌ ์ฌ์ฉ๋๋ ํ์์
๋๋ค.
ํ์ง๋ง ์ด๋ฌํ ํ์์ผ๋ก ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ๋ ๊ฒ์ ์ด๋ ต๊ธฐ ๋๋ฌธ์ ๋ถ์ํ๊ธฐ ์ ์ ์ด๋ฅผ ํ ํ์์ผ๋ก ๊ฐ์ ธ์์ผ ํฉ๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ์ฐ๋ฆฌ๊ฐ ์ด ๋น๋์ค์์ ๋ฐฐ์ธ ๋ด์ฉ์ ๋๋ค.
์์
์ ํจํค์ง ์ ์ฉ์
๋๋ค. tidyr
, ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํต์ฌ์ ํฌํจ๋จ tidyverse
๋ฐ ๊ธฐ๋ฅ unnest_longer()
, unnest_wider()
ะธ hoist()
.
์๋จ์ 11: qplot() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋น ๋ฅด๊ฒ ํ๋กํ
์ถํ ์ผ : 6์ 1 2020
๋งํฌ :
์ค๋ช
:
ํจํค์ง ggplot2
R๋ฟ๋ง ์๋๋ผ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ์๊ฐํ ๋๊ตฌ ์ค ํ๋์
๋๋ค.
์ด๋ฒ ๊ฐ์์์๋ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋จํ ๊ทธ๋ํ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋๋ค. qplot()
, ๊ทธ๋
์ ๋ชจ๋ ์ฃผ์ฅ์ ๋ถ์ํด ๋ณด๊ฒ ์ต๋๋ค.
ํ์ต 12: ggplot2 ํจํค์ง๋ฅผ ์ฌ์ฉํ์ฌ ๋ ์ด์ด๋ณ๋ก ํ๋กฏ ๊ทธ๋ฆฌ๊ธฐ
์ถํ ์ผ : 6์ 8 2020
๋งํฌ :
์ค๋ช
:
์ด ๊ฐ์์์๋ ํจํค์ง์ ๋ชจ๋ ๊ธฐ๋ฅ์ ๋ณด์ฌ์ค๋๋ค. ggplot2
๊ทธ๋ฆฌ๊ณ ๊ทธ ์์ ํฌํจ๋ ๋ ์ด์ด์ ๊ทธ๋ํ๋ฅผ ์์ฑํ๋ ๋ฌธ๋ฒ.
ํจํค์ง์ ์กด์ฌํ๋ ์ฃผ์ ์ง์ค๋ฉํธ๋ฆฌ๋ฅผ ๋ถ์ํ๊ณ ๋ ์ด์ด๋ฅผ ์ ์ฉํ์ฌ ๊ทธ๋ํ๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ์์๋ด ๋๋ค.
๊ฒฐ๋ก
์ ๋ R ์ธ์ด์ ๊ฐ์ ๊ฐ๋ ฅํ ๋ฐ์ดํฐ ๋ถ์ ๋๊ตฌ๋ฅผ ํ์ตํ๋ ์ฒซ ๋จ๊ณ๋ฅผ ์ํํ๋ ๋ฐ ํ์ํ ๊ฐ์ฅ ํ์ํ ์ ๋ณด๋ง ๊ฐ์กฐํ๊ธฐ ์ํด ์ฝ์ค ํ๋ก๊ทธ๋จ ๊ตฌ์ฑ์ ์ต๋ํ ๊ฐ๊ฒฐํ๊ฒ ์ ๊ทผํ๋ ค๊ณ ๋ ธ๋ ฅํ์ต๋๋ค.
์ด ๊ณผ์ ์ R ์ธ์ด๋ฅผ ์ฌ์ฉํ ๋ฐ์ดํฐ ๋ถ์์ ๋ํ ์ฒ ์ ํ ๊ฐ์ด๋๋ ์๋์ง๋ง ์ด์ ํ์ํ ๋ชจ๋ ๊ธฐ์ ์ ์ดํดํ๋ ๋ฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค.
์ฝ์ค ํ๋ก๊ทธ๋จ์ 12์ฃผ ๋์ ์ค๊ณ๋์์ง๋ง ๋งค์ฃผ ์์์ผ๋ง๋ค ์๋ก์ด ๋ ์จ์ ๋ฐ์ ์ ์์ผ๋ฏ๋ก ์ถ์ฒํฉ๋๋ค.
์ถ์ฒ : habr.com