R ๊ฐ๋ฐ์๊ฐ โR-universeโ๋ก ํจํค์ง ์ํ๊ณ ์ด์ํ๋ ๋ฒ
R ๊ฐ๋ฐ์๊ฐ โR-universeโ๋ก ํจํค์ง ์ํ๊ณ ์ด์ํ๋ ๋ฒ ๊ด๋ จ
R ํจํค์ง๋ R์์ ์ฌ์ฉํ ์ ์๋ ๊ธฐ๋ฅ๋ค์ ๋ชจ์์ผ๋ก, ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ ์ฌํ ๊ฐ๋ ์ด๋ค. R์ ์ผ๋ฐ์ ์ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์๋ ์ด์ง ๊ฒฐ์ด ๋ค๋ฅด๊ณ , ๋งคํธ๋ฉ(Matlab), SASS์ ๊ฐ์ด ํต๊ณ ๋ถ์์ ๋ชฉ์ ์ ๊ฐ์ง๋ ํ๋ก๊ทธ๋จ์ ๊ฐ๊น๋ค. ๊ทธ๋ฌ๋ ๋ค์ํ ๋๋ฉ์ธ์์ ๋ฐ์ดํฐ ๋ถ์์ ํ์ํ ํ์ฅ์ฑ์ ๊ฐ์ก๊ณ , โbaseโ๋ผ ๋ถ๋ฅด๋ ๊ธฐ๋ณธ ์ ๊ณต ๊ธฐ๋ฅ ์ธ์๋ ์ฌ๋ฌ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋๋ค.
์ด๋ฒ ๊ธ์์๋ R-universe ํ๋ซํผ์์ ๋ฐฐํฌํ๋ ํจํค์ง๋ฅผ ์์๋ก, R ๊ฐ๋ฐ์๊ฐ ์ด๋ป๊ฒ ์ํ๊ณ๋ฅผ ์ด์ํ๊ณ ์๋์ง ์ดํด๋ณด๊ณ ์ ํ๋ค.
R ํจํค์ง
ํ์ฌ ์ฝ 10๋ง ๊ฐ๊ฐ ๋๋ R ํจํค์ง๊ฐ ์์ง๋ง, ๊ทธ๋๋ ํ ๋ฒ์ฏค์ ๋ค์ด๋ดค์ ๋ฒํ ํจํค์ง๋ฅผ ์์๋ก ์๊ฐํ๊ณ ์ ํ๋ค. ๋จผ์ โggplot2โ๋ผ๋ ํจํค์ง๋ฅผ ์ฌ์ฉํด, ์ฐ์ ๋๋ฅผ ๊ทธ๋ฆฌ๋ ์์ ์ฝ๋์ ๊ทธ ๊ฒฐ๊ณผ๋ค.
๊ฒฐ๊ณผ์์ ์๋ ์ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์ โggplotโ์ ์ฌ์ฉํ์ง ์๊ณ ๊ธฐ๋ณธ ๊ธฐ๋ฅ๋ง์ผ๋ก ๊ทธ๋ฆฐ ๊ทธ๋ฆผ์ด๋ค. ์๋ฏธ ์ ๋ฌ์ ํฐ ์ฐจ์ด๊ฐ ์์ง๋ง โggplotโ ํจํค์ง๋ฅผ ์ฌ์ฉํ๋ฉด ์ฝ๋๋ฅผ ์์ฑํ๋ ํธ์์ฑ์ ๋ฌผ๋ก , ์๊ฐํ์์ ๋์ฑ ๋ค์ํ ์์๋ฅผ ํ์ฉํ ์ ์๋ค.
R ํจํค์ง ๋ง๋ค๊ธฐ
ํนํ R์ ์ฌ์ฉํ๋ค ๋ณด๋ฉด ๋ณธ์ธ์ ๋๋ฉ์ธ์์๋ง ์ฐ๋ ํต๊ณ ๋ถ์์ด๋, ๋ฐ์ดํฐ ์๊ฐํ์ฉ ์ฝ๋, ํน์ ๋ฐ์ดํฐ๋ฒ ์ด์ค, API๋ฅผ ํ์ฉํ๊ธฐ ์ํ ์ฝ๋๋ฅผ ๋งจ ์ฒ์๋ถํฐ ๋ง๋ค์ด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์ด๋ฅผ ๋ค๋ฅธ ์ฌ๋๋ค๋ ํจ๊ป ์ธ ์ ์๊ฒ ๊ณต์ ํ๋ฉด, ์ง์ R ํจํค์ง๋ฅผ ๋ง๋๋ ๊ฒฝ์ง์ ๋๋ฌํ๊ธฐ๋ ํ๋ค.
์ด๋ ๊ฒ ๋ง๋ R ํจํค์ง๋ฅผ ๋ค๋ฅธ ์ฌ๋๋ค์ด ์ค์น, ์ฌ์ฉํ ์ ์๋๋ก ์จ๋ผ์ธ์ ๊ณต๊ฐํ๋ ๋ฐฉ๋ฒ์ 4๊ฐ์ง๊ฐ ์๋ค.
- (CRAN ๊ฐ์) Mirror(์ฌ๊ธฐ์ Mirror๋ ๋ค๋ฅธ ํ์ด์ง์ ๋ด์ฉ์ ๋ค๋ฅธ URL๋ก ํธ์คํ ํ๋ ๋ฏธ๋ฌ ์ฌ์ดํธ๋ก, ์ดํ โ๋ฏธ๋ฌโ๋ผ๊ณ ํ์)
- (๊นํ๋ธ ๊ฐ์) VCS(Version Control System)
- ์์ถ ํ์ผ
- ํ ์คํธ
์ด ์ค 3, 4๋ฒ์ ์ ํ๋ ์ฌ์ฉ์์ ๊ณต์ ํ๋ ๊ฒฝ์ฐ๋ก, 3๋ฒ ์์ถํ์ผ์ ๋ํ๊ต์์ ๊ฐ์ ํน์ ์ํ์ ์ํด ์ปค์คํ ํ๊ฒ ๋ง๋ ํจ์๋ง ์ฌ์ฉํ๊ฒ ํ๋ ์ฌ๋ก๊ฐ ์๋ค. 4๋ฒ ํ ์คํธ๋ ๊ธ์ต์ด๋ ์๋ฃ ๊ธฐ๊ด์ฒ๋ผ ๋ฐ์ดํฐ ๋ณด์์ด ์ค์ํด ๋ถ๋ฆฌ๋ง ๊ฐ์ ๊ท์ ๊ณผ ์ ํ์ด ์๋ ๊ณณ์ด๋ค. ๋ณดํต .txt ํ์์ ํ์ผ๋ง ๋ด๋ถ๋ก ๋ฐ์ ๊ฐ๋ฅํ ์ฌ๋ก๊ฐ ์๋ค. ์ฆ, ์์ถ ํ์ผ์ด๋ ํ ์คํธ๋ ํน์ํ ๊ฒฝ์ฐ๋ก, R ํจํค์ง ์ค 99%๋ ๋ฏธ๋ฌ๋ VCS๋ฅผ ํตํด ๊ณต์ ๋๋ค.
VCS๋ฅผ ์ฌ์ฉํด R ํจํค์ง๋ฅผ ๊ณต์ ํ๋ ๋ฐฉ๋ฒ์ ์๋์ ์ผ๋ก ์ฝ๋ค. ๋ด๊ฐ ์ฌ์ฉํ๋ ๊นํ๋ธ(Github)๋ฅผ ๊ธฐ์ค์ผ๋ก, ๊ฐ์ธ์ด ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ ์์ ํ R ํจํค์ง๋ฅผ ์ปค๋ฐํ์ฌ ์ฌ๋ฆฌ๋ฉด ๋์ด๋ค. ๋ง ๊ทธ๋๋ก R ํจํค์ง์ ํ์๋ง ์งํจ๋ค๋ฉด ๋๊ตฌ๋ ์ ํ ์์ด ๋ง๋ค ์ ์๋ค. โREADMEโ๋ฅผ ์ ์ธํ ํจํค์ง์ ํ์ํ ์ต์ํ์ ํ์ผ๋ง ์ฌ๋ฆฌ๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค.
๋ ๋ฒ์งธ๋ก R ํจํค์ง๋ฅผ ํธ์คํ ํ๊ณ ๋ฐฐํฌํ๋ ํ๋ซํผ โ๋ฏธ๋ฌโ๋ ๊ณต๋์ผ๋ก ๊ด๋ฆฌ๋๋ ์ ์ฅ์๋ค. ๋ณดํต์ ๋น์๋ฆฌ, ์ฐ๊ตฌ ๋จ์ฒด ๋ฑ์ ์ํด ์ด์๋๋ค. ์ด ๋ฏธ๋ฌ๋ ํจํค์ง์ ๋ชฉ์ ๊ณผ ์ฑํฅ์ ๋ฐ๋ผ ์กฐ๊ธ์ฉ ๋๋๋๋ฐ, R ํจํค์ง์ ๋ค์๋ฅผ ์ฐจ์งํ๋ CRAN(The comprehensive R Archive Network), ์๋ช ์ ๋ณดํ ๋ถ์ผ์ ํนํ๋ Bioconductor, ํน์ ์ค๋๋ ํต๊ณ ํจํค์ง๋ค์ ๋ด๊ณ ์๋ R-forge ๋ฑ์ด ์๋ค.
๋์ ๋ฏธ๋ฌ๋ ํจํค์ง๋ฅผ ๊ฒ์ํ๊ธฐ ์ํด ์ ์ํ๋ ๊ธฐ์ค์ ๋ง์กฑํด์ผ ํ๋ค. ํจํค์ง์ ๋ํ ๋ฌธ์ํ๊ฐ ์ ๋์ด ์๋์ง, ์ค๋ฅ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํ ํ ์คํธ๊ฐ ์์ฑ๋์ด ์๋์ง, ๋ค์ํ OS์์ ๋ฌธ์ ์์ด ๋น๋๊ฐ ๊ฐ๋ฅํ์ง ๋ฑ R ํจํค์ง์ ํ์ง์ ์ฆ๋ช ํด์ผ ๋ฑ์ฌ๋ ์ ์๋ค. ์ด๋ ๊ณต์ ์ธ์ฆ์ ๋ฐ๋ ๊ฒ์ด๋ผ ๊ฝค ๊น๋ค๋ก์ด ํ๋ก์ธ์ค๋ฅผ ๊ฑฐ์น๋ค. ๊ทธ๋ ๋ค๊ณ ๊นํ๋ธ์ ์ฌ๋ผ์จ R ํจํค์ง๊ฐ ์ข์ง ์๋ค๋ ๊ฑด ์๋๊ณ , ํ์ ๋ ผ๋ฌธ์ผ๋ก ์น๋ฉด Arxiv(=๊นํ๋ธ)์ ์ผ๋ฐ SCI ์ ๋(=๋ฏธ๋ฌ)์ ์ฐจ์ด ์ ๋๋ค.
๋ํ R ๊ฐ๋ฐ์ ์ฌ์ด์์ โCRAN ๊ธฐ์ฌ์โ๋ ๊ฝค ๋ง์ ์๋ฏธ๋ฅผ ๊ฐ๊ณ ์์ด์, ์๋์ ์ผ๋ก ํจํค์ง๋ฅผ ์ฌ๋ฆฌ๊ธฐ ์ฌ์ด ํ์ด์ฌ(Python)์ PyPI, ์๋ฐ์คํฌ๋ฆฝํธ(Javascript)์ NPM ๋ฑ ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ R์ด ์ฐจ๋ณ๋๋ ๋ถ๋ถ ์ค ํ๋๋ค.
CRAN๊ณผ ๊นํ๋ธ
R ํจํค์ง๋ฅผ CRAN์ ์ฌ๋ฆฌ๋ ๊ฒ์ tidyverse ๊ฐ์ ๋ถ์์ฉ R ํจํค์ง์ ์ฝ๋๋ฅผ ๋ค๋ฃจ๋ ๊ฒ ์ธ์๋, devtools๋ usethis์ ๊ฐ์ ๊ฐ๋ฐ์ฉ R ํจํค์ง๋ฅผ ํ์ฉํด์ผ ํ๋ค. ๊ทธ๋งํผ ๋ค๋ฅธ ์ฑํฅ์ ๊ฒฝํ์ด ํ์ํ๊ณ , CRAN์ ๊ฒ์ํ๊ธฐ๊น์ง์ ํ๋ก์ธ์ค๊ฐ ๊น๋ค๋กญ๋ค. ๊ทธ๋์ ๋ง์ R ๊ฐ๋ฐ์๋ค์ ์ ํ์ด ์๋ ๊นํ๋ธ์ ์ฌ๋ฆฌ๋ ๊ฒ์ ์ ํธํ๋ค.
๋ฌธ์ ๋ ์ด๋ ๊ฒ ๊นํ๋ธ์ R ํจํค์ง๋ฅผ ์ฌ๋ฆฌ๋ฉด (๋์ ๊ฒฝ์ฐ๋ฅผ ํฌํจํด) ๊ฐ๋ฐ์๊ฐ ์ง์ ๊พธ์คํ ๊ด๋ฆฌํ์ง ์๋ ์ด์ ๋ฐฉ์น๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ์ฌ์ฉ์๋ ์ด๋ฌํ ์ญํ ์ ํ๋ ํจํค์ง๊ฐ ์๋ค๋ ๊ฒ์กฐ์ฐจ ๋ชฐ๋ผ ์ํ์ง๋ ์ผ์ด ์๊ธด๋ค. ์ด์ R ํจํค์ง ์ ๋ณด๋ฅผ ํ์ธํ๋ โrdrr.ioโ๋ผ๋ ๊ฒ์ ํ์ด์ง๊ฐ ์์ง๋ง, ํจํค์ง๋ฅผ ๋จ์๋ก ํ๋ ์ด์ ํ๋ค ๋ณด๋ ํํธํ๋์ด ์๋ R ํจํค์ง์ ํจ์ ๋งค๋ด์ผ ์ด์์ ์ ๋ณด๋ฅผ ์ป์ ์ ์์ด ์์ฌ์์ด ์๋ค.
์ต๊ทผ โuseR!2024โ๋ผ๋ ์ปจํผ๋ฐ์ค์ ๋ค๋ ์๋๋ฐ, ํ ํฝ ์ค ํ๋๊ฐ R-universe์๋ค. ์ด๋ tidyverse์ ๊ฐ์ R ํจํค์ง ์ํ๊ณ๋ก๋ถํฐ ์๊ฐ์ ๋ฐ์ ๊ฒ์ผ๋ก, โ๊ฐ์ธ์ด ๋ง๋ ํจํค์ง๋ค์ ํ๋์ universe๋ก ๊ตฌ์ฑํ์โ๋ผ๋ ๋ชฉ์ ์ด ์๋ค. ์ข ๋ ์ฝ๊ฒ ์ค๋ช ํ๊ธฐ ์ํด ์์๋ฅผ ๋ค์ด๋ณด์.
ํ์ ๋์๊ฒ ๋ง์ ์๊ฐ์ ์ฃผ๋ R ๊ฐ๋ฐ์ โDean Attaliโ์ R-universe ์ฒซ ํ๋ฉด์ ์๋์ ๊ฐ์ด ๊ตฌ์ฑ๋์ด ์๋ค.
์ด๋ ์ด ์ฌ๋์ด ์ด๋ค R ํจํค์ง๋ฅผ ๋ง๋ค์๋์ง ์๋ ค์ฃผ๊ณ , ๊ฐ ํจํค์ง์ ์์ค ์ฝ๋์ ๋ฆฌ๋ ์ค, ์๋์ฐ, ๋งฅ OS์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฐ์ด๋๋ฆฌ ํํ์ ํจํค์ง๋ฅผ ์ ๊ณตํ๋ ํผ์ค๋ ๋ฏธ๋ฌ ์ญํ ์ ํ๋ค. ๋์์ ๊ณต์ ํ ๋ฐ์ดํฐ์ ๊ณผ ์์ฑํ R ํจํค์ง ๊ด๋ จ ์ํฐํด ๋ฑ R ๊ด๋ จ ์์ ์ ๋ณด๋ฅผ ํ ๋ฒ์ ๋ณผ ์ ์๋ค.
๋ฌด์๋ณด๋ค R-universe์ ๊ฐ์ฅ ํฐ ์ฅ์ ์ CRAN ๊ฐ์ ๋ฏธ๋ฌ๊ฐ ์๋, ๊นํ๋ธ ๊ฐ์ VCS์ R ํจํค์ง๋ค๋ก๋ ๊ฐ์ธ์ universe๋ฅผ ๊ตฌ์ฑํ ์ ์๋ค๋ ์ ์ด๋ค. ๊ทธ๋ ๋ค๋ฉด ์ด๋ป๊ฒ ๊นํ๋ธ์ ์ฌ๋ฆฐ R ํจํค์ง๋ฅผ ํผ์ค๋ R-universe์ ํฌํจ์ํฌ ์ ์์๊น? ๋จ๊ณ๋ณ๋ก ์ดํด๋ณด์.
ํผ์ค๋ โR-universeโ ๋ง๋ค๊ธฐ
์ฌ์ค ํผ์ค๋ R-universe๋ ๋ง์ฝ ์ด์ ์ R ํจํค์ง๋ฅผ CRAN์ ์ฌ๋ฆฐ ์ ์ด ์๋ค๋ฉด, ์ด ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก R-universe์์ ์๋์ผ๋ก ์์ฑํด ์ค๋ค. ๊ทธ๋ฌ๋ ์๋์ผ๋ก ๋ง๋ค์ด์ง ๋ด์ฉ์ CRAN ํน์ Bioconductor์ ์ฌ๋ฆฐ R ํจํค์ง๋ง ํด๋น๋๋ค. ๋ค๋ฅธ ๋ฏธ๋ฌ๋ ๊นํ๋ธ์ R ํจํค์ง๋ฅผ ๋ง๋ค์๋ค๋ฉด ์ด์ด์ง๋ ๋ด์ฉ์ ๋ฐ๋ผ ์ถ๊ฐํ ์ ์๋ค.
1) ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ ๋ง๋ค๊ธฐ
์ ์ผ ๋จผ์ ํด์ผ ํ๋ ์ผ์ ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ง๋๋ ๊ฒ์ด๋ค. R-universe์ ๊ฐ์ธ ํ์ด์ง๋ฅผ ์์ฑํ๊ธฐ ์ํด์ ๊ฐ์ธ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค. ํผ์ค๋ R-universe๋ฅผ ์์ฑํ๋ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
์๋ฅผ ๋ค์ด, R-universe ์ธํ๋ผํ์ด ๋ง๋ ๊นํ๋ธ ์ฑ(Github App)์ ๋ด ๊ฐ์ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ธ โjhk0530.r-universe.devโ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ค์น๋์ด, packages.json
์ด๋ผ๋ ํ์ผ์ ๋ด์ฉ์ ์ธ์ํ๋ค. ์ด ์์๋ universe์ ์ถ๊ฐํ ํจํค์ง๋ณ ์ด๋ฆ๊ณผ ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ ์ฃผ์๋ฅผ ํฌํจํด์ผ ํ๋ค.
๊ฐ ํจํค์ง์ ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์๋ README, DESCRIPTION ๋ฑ R ํจํค์ง๋ฅผ ์ค๋ช
ํ๋ ๋ฉํ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ๊ณ ์์ด, ๊นํ๋ธ ์ฑ์ ์ด๋ฅผ ํ์ฉํด R-universe์ jhk0530
์ด๋ผ๋ ์ ์ฅ์์ ๋ด์ฉ์ ์ถ๊ฐ ๋ฐ ์
๋ฐ์ดํธํ๋ค.
๋ง์ง๋ง์ผ๋ก ์ด ๋ฐ์ดํฐ๋ค์ R-universe์ jhk0530
์ด๋ผ๋ ์ ์ฅ์์์ GHA(Github Action)๋ฅผ ์ฌ์ฉํ์ฌ, R-opensci ์ฌ๋จ์์ ์ ๊ณต, ์ด์ํ๋ R-universe ์น ํ์ด์ง์ ๋ฐ์๋๋ค.
2) packages.json
๋ง๋ค๊ธฐ
packages.json
์ ๋ ์ง์คํธ๋ฆฌ ํ์ผ๋ก ํจํค์ง ์ด๋ฆ๊ณผ URL์ ๊ตฌ์กฐํํ์ฌ ๋ด๊ณ ์๋ค. ์ด๋ฆ๊ณผ URL ์ธ์๋ ์ฌ๋ฌ ์ถ๊ฐ ์ต์
์ด ๊ฐ๋ฅํ์ง๋ง, ๊นํ๋ธ์์ ๋ธ๋์น๋ฅผ ์ฌ์ฉํด ๊ฐ๋ฐํ๋ ๊ฒ์ด ์๋๋ผ๋ฉด ์ ๊ฒฝ ์ฐ์ง ์์๋ ์ข๋ค.๋ด packages.json
์ ๋ด์ฉ์ ์๋์ ๊ฐ๋ค. ๊ฐ๊ฐ polaroid์ shinyCyJS๋ CRAN์ ์ฌ๋ฆฐ R ํจํค์ง, shinyReadme์ gemini.R์ ๊นํ๋ธ์ ์ฌ๋ฆฐ R ํจํค์ง๋ค. ์ด ๋ด์ฉ์ ์์ฑํ๊ธฐ ์ ์๋ polaroid์ shinyCyJS ์ ์ ๋ณด๋ง ๋ด R-universe ํ์ด์ง์ ์์๋ค.
json ๋ฐ์ดํฐ๋ฅผ ๋ค๋ค๋ณธ ์ฌ๋์ด๋ผ๋ฉด ๋ฏ์ค์ง ์๊ฒ ์ง๋ง, tidyverse ๊ฐ์ ์ผ๋ฐ์ ์ธ R์ ๋ค๋ฃจ๋ ์ฌ๋์๊ฒ๋ json ํ์ผ์ด ๋ฏ์ค ์ ์๋ค. ๊ทธ๋์ R-universe์ ๊ณต์ ๋งค๋ด์ผ์์๋ jsonlite ํจํค์ง์ write_json ํจ์ ์ฌ์ฉ์ ๊ถ์ฅํ๋ค. ์ด์ด์ง๋ ์ฝ๋๋ ์ packages.json
ํ์ผ์ ๋ง๋๋ ๋ฐ ์ฌ์ฉํ R ์ฝ๋๋ค.
3) ๊นํ๋ธ ์ฑ ์ค์นํ๊ธฐ
R-universe ์ธํ๋ผํ์ด ๋ง๋ ๊นํ๋ธ ์ฑ์ ๋งํฌ (apps/r-universe
)์์ โ๋ด๊ฐ ์์ ๊ถํ์ด ์๋โ ๊นํ๋ธ ๊ณ์ ์ ์ค์นํ ์ ์๋ค. ์ง๊ธ์ ๋ด ๊ฐ์ธ ๊ณ์ ์ universe๋ฅผ ๋ง๋ค๊ธฐ ์ํ ๋ชฉ์ ์ด๋ฏ๋ก, jhk0530์๋ง ์ถ๊ฐํ๋ค.
์ดํ ์ฑ์ด ์ด๋ค ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ ๊ทผํ ์ ์๊ฒ ํ ์ง ๊ถํ์ ์ค์ ํ ์ ์๋๋ฐ, ์๋ ์ด๋ฏธ์ง์ฒ๋ผ ํ๋์ฉ ์ค์ ํ์ง ๋ง๊ณ โAllโ๋ก ์ค์ ํ๋ ๊ฒ์ด ์ข๋ค. ์ด ์ฑ์ด ํ์๋ก ํ๋ ๊ถํ์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ปค๋ฐ ๊ธฐ๋ก์ ์ฝ๊ณ ์ฐ๋ ๊ฒ(read and write commit statuses)๋ฐ์ ์์ผ๋ All๋ก ํด๋ ๋ฌธ์ ๊ฐ ์๋ค.
ํน์๋ Select์์ All๋ก (ํน์ ๋ฐ๋๋ก) ๋ฐ๊พธ๋ ค๋ฉด, ์ค๋ฅธ์ชฝ ์ด๋ฏธ์ง์ฒ๋ผ Github settings > Integrations > Applications๋ฅผ ํตํด ์ค์ ํ ์ ์๋ค.
4) R-universe์ ์ฐ๋๋๋ ๋์ ์ ์ ๋๊ธฐํ๊ธฐ
๊นํ๋ธ ์ฑ์ ์ค์นํ๊ณ ๋๋ฉด ์ฐ๋๋ GHA๋ค์ด ์๋ํ๋ฉฐ, ์์ ๋ง๋ jhk0530.r-universe.dev์ packages.json
์ ๋ช
์๋ R ํจํค์ง ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ํ๊ณ , ์ด๋ฅผ r-universe/jhk0530 ๋ฆฌํฌ์งํ ๋ฆฌ๋ก ๋๊ธฐํํ๋ค.
R ํจํค์ง ๋น๋๋ฅผ ํฌํจํ GHA๊ฐ ์คํ๋๋ฉฐ ์ฝ 30๋ถ ์ ๋๊ฐ ์ง๋ ํ, jhk0530.r-universe/dev ํ์ด์ง์์ ๋ด์ฉ์ด ์
๋ฐ์ดํธ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. ์ด๋ packages.json
์ ์ ํ ์๋ ๋ชจ๋ R ํจํค์ง์ ๋ํด GHA๋ฅผ ํ์ฉํด ๋น๋ ์์
์ ์งํํ๋ฏ๋ก, ๋ง์ฝ ํจํค์ง ๋ชฉ๋ก์ด ๋ง๋ค๋ฉด ์๊ฐ์ด ๋ ๊ฑธ๋ฆด ์๋ ์๋ค.
5) ๊ฒฐ๊ณผ ๋ฐ ๋ง๋ฌด๋ฆฌ
R-universe์๋ ๋ฏธ๋ฌ๋ก์จ ํจํค์ง์ ๋น๋ ์ํฉ์ ๋ณด์ฌ์ฃผ๋ Builds ํญ ์ธ์๋ Packages, ํจํค์ง์ ๋ค๋ฅธ ๊ฐ๋ฐ์์ ๊ธฐ์ฌ๋ฅผ ์ฃผ๊ณ ๋ฐ์์ ๋ณด์ฌ์ฃผ๋ Contribution, ๊ทธ๋ฆฌ๊ณ README.MD์ ์ฌ์ฉํ ์ ์๋ ๋ฐฐ์ง(Badges) ์ด๋ฏธ์ง ๋ฑ์ ๋ถ๊ฐ ๊ธฐ๋ฅ์ด ์๋ค.
์ด ์ค Badges์ ๋ํด ๊ฐ๋จํ ์๊ฐํด ๋ณด๊ฒ ๋ค.
Badges์์๋ ๋ด universe์ ์ํ, ๊ทธ๋ฆฌ๊ณ ๊ฐ ํจํค์ง์ ๋ฒ์ ์ ํฌํจํ ๋ช๋ช ์งํ๋ฅผ ๋ณต๋ถํ ์ ์๋ ์ฝ๋๋ก ๋ณด์ฌ์ค๋ค. ์ด๋ฅผ R ํจํค์ง์ README์ ๋ถ์ฌ์ฃผ๋ ๊ฒ์ผ๋ก R-universe ์ ๋ฐ์ดํธ ์์ ์ ๋ง๋ฌด๋ฆฌํ ์ ์๋ค.
์ด๋ฏธ์ง์ ์๋ ๋ ๋ค๋ฅธ ๋ฐฐ์ง R-hub๋ ์ฌ๋ฌ OS์์ R ํจํค์ง ๋น๋๋ฅผ ํ ์คํธํ ์ ์๊ฒ ํ๋ ๊ธฐ๋ฅ์ผ๋ก, ์ด์ ์ ์ด ๊ธ์ ์ฐธ๊ณ ํด ๋ณด๋ฉด ์ข๋ค.
๋ง์น๋ฉฐ
R-universe๋ rOpenSci ์ฌ๋จ์์ ์ ๊ณตํ๋ ๊ฐ์ธ R ํจํค์ง ๋ฏธ๋ฌ ์ญํ ์ ํ๋ ์น ์๋น์ค๋ก, ๋ง๋ค๊ธฐ๋ ์ฝ๊ณ ๋น์ฉ์ด ๋ค์ง๋ ์๋๋ค. ๋ํ CRAN๋ฟ๋ง ์๋๋ผ ๊นํ๋ธ๋ก ๊ณต๊ฐํ๋ ๋น๊ณต์ R ํจํค์ง๋ ํ๊บผ๋ฒ์ ๊ด๋ฆฌํ ์ ์๋ค.
R-universe๋ ๋ฏธ๋ฌ์ ์ญํ ์ธ ์์ค์ฝ๋, OS๋ณ ๋น๋ ๊ฒฐ๊ณผ, ํจํค์ง ๋ค์ด๋ก๋, ๋ ํธํ ์ค์น ์ธ์๋ ์ฌ๋ฌ ์งํ๋ฅผ ํฌํจํด ๊ฝค ์ ๊ธฐํ ๋ด์ฉ์ ๋ณด์ฌ์ฃผ๊ธฐ๋ ํ๋ค. ๋ํ ์ฌ์ฉ์๋ ๋ ์ฝ๊ณ ํธ๋ฆฌํ๊ฒ ๋ด R ํจํค์ง๋ฅผ ์ฐพ๊ฑฐ๋, ์ฌ์ฉํ ์ ์๋ค. ๊ฐ๋ฐ์์ ๊ด์ ์์๋ ๋ค๋ฅธ R ๊ฐ๋ฐ์๋ค์ด ์ด๋ป๊ฒ ํ๋์ง๋ฅผ ๋ณด๋ฉฐ ์๊ฐ์ ์ป์ ์ ์๋ค.
์ด์ ๋ํด ๊ฐ์ธ๋ฟ๋ง ์๋๋ผ Organization ๋ ๋ฒจ์์๋ ์์ ์ด ๊ฐ๋ฅํ ๋งํผ, ์ต๊ทผ R, Shiny ๊ฐ๋ฐ์๋ค์ด ๊ฐ์์ universe ํ์ด์ง๋ฅผ ๋ถ์ง๋ฐํ ๋ง๋ค๊ณ ์๋ค. ์์ผ๋ก โCRAN - ๊นํ๋ธโ ๋๋ โCRAN - R-universeโ์ฒ๋ผ ์ 2์ ๋ฐฉ๋ฒ์ผ๋ก ๋ง์ด ํ์ฉ๋ ๊ฒ์ด๋ค.