๐ R์ R์ค๋ฝ๊ฒ, Python์ Python์ค๋ฝ๊ฒ
์ง๊ธ๊น์ง ๋๋ถ๋ถ ๋ถ์ ์์ ์ R๋ก ์ํํด ์๋๋ฐ, ํ ์ง์ฅ์์ ๋์๋ณด๋ ๊ฐ๋ฐ ์์ ์ Python์ Streamlit์ผ๋ก ํ๊ณ ์์ด์ ์์ฆ ์ฃผ๋ก Python์ ๋ค๋ฃจ๊ณ ์๋ค. Data wrangling, preprocessing ๋ฑ๊ณผ ๊ฐ์ ์์ ์๋ R์ tidyverse syntax๊ฐ ๋ด๊ฒ ๊ฐ์ฅ ์ต์ํ๊ธฐ์, Python์์ R์ dplyr(tidyverse ecosystem์ ์ด๋ฃจ๋ ํจํค์ง ์ค ํ๋)์ Pandas์ ํธํ๋๋๋ก ๊ตฌํํ siuba๋ผ๋ ํจ์๋ฅผ ์ด์ฉํด์ Data wrangling ์์ ์ ์ํํ๊ณ ์์๋ค. ์ด ๊ณผ์ ์์ ๋๋ ๋ฐ๋ ๋ฐ์ดํฐ ๋ถ์์ R๊ณผ Python์ ์ด์ฉํ๊ณ ์๋ค๋ฉด, R์ R์ค๋ฝ๊ฒ, Python์ Python์ค๋ฝ๊ฒ ์ฐ๋๊ฒ ์ข์ ๊ฒ ๊ฐ๋ค๋ ๊ฒ์ด๋ค. ์ด ์๊ฐ์ด ๋ ์ธ์ ์ด๋ป๊ฒ ๋ฐ๋์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง, ์ง๊ธ์ ๊ทธ๋ ๋ค. ๊ทธ ์ด์ ๋ฅผ ์จ๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค: 1. dplyr์ Pandas์ ํธํ๋๋๋ก ๊ตฌํํ siuba๋ ํ์ฌ R์์ ์ ๊ณตํ๊ณ ์๋ dplyr ๊ธฐ๋ฅ์ ๋นํ๋ฉด ๊ตฌํ๋์ง ์์ ๊ธฐ๋ฅ๋ค์ด ๋งค์ฐ ๋ง์์, ํ์ฐ์ ์ผ๋ก Pandas์ ํจ์๋ฅผ ์์ด์ ์ธ ์ ๋ฐ์ ์๋ค. 2. ์์ Data wrangling ๊ณผ์ ์ Pandas ํจ์๋ฅผ ์์ด์จ์ผ๋ง ํ๋ ์ํฉ์ด ์์ ์ ๋ฐ์ ์๋ค๊ณ ํ๋ค. ์ด์ ๋ฐ๋ผ, tidyverse์ ํต์ฌ์ธ Pipe ์ฐ์ฐ์(R์์๋ |> ๋๋ %>%, Python์์๋ >>)์ ํธํ์ด ์ฉ ์์ ๋กญ๊ฒ ๋์ง ์๋ Pandas ํจ์๋ค๋ ์์ด์ ์ค๊ฐ์ ์ฝ๋๋ฅผ ์๋ฅผ ์ ๋ฐ์ ์๋ ์ํฉ์ด ๋ฐ์ํ๋ค. 3. Pandas ํจ์๋ฅผ ์์ด ์จ์ผํ๊ธฐ์ R์์ tidyverse๋ฅผ ์ด์ฉํ ๋ ๋งํผ์ ์ฝ๋ ๊ฐ๋ ์ฑ์ ๊ธฐ๋ํ๊ธฐ ํ๋ค๋ค. ์์ธ๋ฌ, tidyverse์์ ์ถ๊ตฌํ๋ ์ฒ ํ๊ณผ Syntax, Pandas์์ ์ถ๊ตฌํ๋ ์ฒ ํ๊ณผ Syntax๊ฐ ์์ํ ๋ฐ, ์ด ๋์ ์์ด ์จ๊ฐ๋ฉฐ ์์ ํ๋ ๊ฒ์ R๊ณผ Python์ ๋ ๋ค ์ด๋์ ๋ ๋ค๋ฃฐ ์ค ์๋ ์ฌ์ฉ์๋ค์๊ฒ๋ ์ฉ ์ข๊ฒ ๋ณด์ด์ง ์์ ๋ฏ ํ๋ค. 4. ๋ฐ์ดํฐ ๋ถ์์ Python๋ง์ ์ด์ฉํด ๋ณธ ์ฌ์ฉ์๋ค์ด tidyverse syntax๋ฅผ Python์๋ ๊ฐ๋ค ์ฐ๋ ํํ๋ฅผ ๋ณด๋ฉด, ์ฝ๋์ ์๋นํ ๊ฑฐ๋ถ๊ฐ์ ์ผ์ผํฌ ์ ์์ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ ํ๋ค. Python์์ tidyverse๊ฐ ๊ฝค๋ ์์ฑ๋์๊ฒ ๊ตฌํ๋์ด ์๋ ์ํฉ์ด๋ผ๋ฉด, ๊ธฐ์กด์ Python ์ฌ์ฉ์๋ค์ ์ค๋ํ ๋งํ ์์ค์ ์ฝ๋๋ฅผ ์งค ๊ฐ๋ฅ์ฑ์ด ์กฐ๊ธ์ด๋๋ง ์๊ฒ ์ง๋ง ๊ทธ๋ ์ง ์์ ์ํฉ์ด๋ค. tidyverse๋ฅผ ์ด๋ฃจ๋ ํจํค์ง๋ค ์ค dplyr๋ง ์ชผ์ค๊ธ ๊ตฌํ๋์ด ์๋ ์ํฉ์ด๊ณ , dplyr์์ ์ ๊ณตํ๋ ํจ์๋ค(e.g. mutate())๊ณผ ์ ์ฐํ๊ฒ ์๋ํ์ฌ vectorized ์ฐ์ฐ์ด ์์ฐ์ค๋ฝ๊ฒ ์ํ ๋๋ lubridate(๋ ์ง๋ฅผ ๋ค๋ฃฐ ๋ ์ฌ์ฉํ๋ ํจํค์ง), stringr(๋ฌธ์์ด์ ๋ค๋ฃฐ ๋ ์ฌ์ฉํ๋ ํจํค์ง)๊ณผ ๊ฐ์ ํจํค์ง๋ค์ ์ ํ ๊ตฌํ์ด ๋์ด์์ง ์์ ์ํ์ด๋ค. ์ฐธ๊ณ ๋ก, ggplot2์ ๊ฒฝ์ฐ๋ python์์ plotnine์ด๋ผ๋ ํจํค์ง๊ฐ ์กด์ฌํ๋๋ฐ ์ด ๋ํ ํ์ฌ R์์ ์ฌ์ฉํ๊ณ ์๋ ggplot2์์ ๊ธฐ๋ฅ๊ณผ ๋นํ์ฌ ๋ดค์๋ ์ผ๋ง๋ ๊ตฌํ์ด ๋์ด์๋์ง๋ ๋ชจ๋ฅด๊ฒ ๋ค. matplotlib๋ Seaborn ๋ฑ๊ณผ ๊ฐ์ ์๊ฐํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ๋ฉ๋ฆฌํธ๊ฐ ์์ผ๋ ค๋ฉด tidyverse syntax๊ฐ ์ ๊ตฌํ๋์ด ์์ด์ผํ๋๋ฐ ๊ทธ๋ ์ง ์์ ์ํฉ์ด๋. ์ด๋ฌํ ์ด์ ์์ ๋๋ R์ ์ต์ํ ์ฌ์ฉ์์ฌ๋ ๋ฐ์ดํฐ ๋ถ์์ Python์ ์ด์ฉํ ์ํฉ์ด ์๋ค๋ฉด, ๊ตณ์ด ์ต์ํ tidyverse systax๋ฅผ ๋ฐ๋ฅด๋, ๊ทธ๋ฐ ๊ธฐ๋ฅ์ ๊ตฌํํ ํจ์๋ค์ ์ฐพ๋ ๊ฒ ๋ณด๋ค๋ ๊ทธ๋ฅ Pandas๊ฐ ๊ฐ์ง๊ณ ์๋ ์ฒ ํ, syntax๋ฅผ ์ดํดํ๋๊ฒ Python์ ์ด์ฉํ ๋ฐ์ดํฐ ๋ถ์ ์ญ๋์ ํค์ฐ๋ ๋ฐ์ ํจ์ฌ ๋ ์ข์๋ณด์ธ๋ค. Python์ ์ต์ํ ์ฌ์ฉ์๊ฐ R์ ์ด์ฉํ๊ณ ์ ํ๋ ๋ฐ๋์ ์ํฉ์๋, ํด๋น ์ธ์ด(R)์์ ๋ฐ์ดํฐ ๋ถ์์ ํ ๋ ์ค์ ์ ์ผ๋ก ๋ค๋ค์ง๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(e.g. tidyverse)์ ์ฒ ํ๊ณผ syntax๋ฅผ ์ดํดํ๊ณ ์ ํ๋ ๋ ธ๋ ฅ์ด ์์ด์ผ ๋ณด๋ค ๋นจ๋ฆฌ R ์ญ๋์ ํค์ธ ์ ์์ ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ , ์ด ๊ด์ ์์ โPandas๋ ๊ตฌ๋ ค, tidyverse๊ฐ ์งฑ์ด์ง.โ ๋๋ โtidyverse๋ ๊ตฌ๋ ค, Pandas๊ฐ ์งฑ์ด์ง. ์ ๊ฐ์ ๊ทน๋จ์ ์๊ฒฌ์ ๋งค์ฐ ๋ฌด์๋ฏธํด ๋ณด์ธ๋ค.