Rmd + RPubs로 웹페이지를 만들 수 있다. github pages 소개하려다 돌린건 안 비밀.
Web에 자신의 결과물을 정리하고 공개하는 것은 시간이 가면 갈 수록 그 중요성을 더해 가고 있습니다.
오늘날 웹사이트를 가지지 않은 사람은 존재하지 않는 것이다.
저는 코드 공유 SNS인 Github
을 이용해 코드를 공유하고
대화하는 것을 공부하다 github
pages에 대해 알게 되었습니다. 거기에 .Rmd
파일은
웹기술에 대한 사전지식 없이 .html
파일로 변환할 수
있었습니다. R 마크다운
+ github pages
조합으로
R에서 만들 수 있는 여려 결과물들을 웹으로 공개하여 인터넷 주소로
공유하는 방법이 있는 것입니다. 이건 다음 번에 설명하기로 하고, Rstudio를 이용해서 .Rmd
문서를 .html
파일로 변경하여 웹페이지로 만들어주는 Rpubs라는 서비스를 소개하겠습니다.
Rpubs는
Easy web publishing from R
라는 말처럼 Rstudio로
.html
파일을 쉽게 무료로 호스팅해주는
서비스입니다. 우리는 .Rmd
파일로 쉽게 .html
파일을 만들 수 있기 때문에, 이걸 이용해볼 겁니다.
본래 일반적으로 사용하는 포멧은 .md
파일입니다. 판독(pandoc)이라는 오픈소스 프로젝트를
이용해서 여러 다른 문서 포멧으로 변환할 수 있습니다. 아래 그림은 input
-> output인데 한번 확인해 보시죠.
이렇게 많은 변환 기능을 제공해주는 판독을 사용해서
마크다운(.md
)을 웹문서(.html
)로 변환할
겁니다.
우리는 knitr 패키지를
이용해서 .Rmd
문서를 .md
파일로 바꾸고, 판독을
이용해서 원하는 다양한 포멧(이번 경우는 .html
)으로
바꿉니다.
내부 동작은 이 정도로 가볍게 넘기고, Rstudio를 이용해서
.Rmd
파일을 만들고 저장하고, .html
파일로
바꿔보겠습니다.
그럼 이제 Rstudio를 실행해 볼까요?
<img src=“https://user-images.githubusercontent.com/6179259/37238875-1b273872-2473-11e8-8278-40edfd2aff12.PNG”, width=100%>
새로 파일을 만드는 방법이 몇 가지 있지만, 우리는 아래 방법을 시도해 볼겁니다.
Rstudio에서 File 버튼 밑에 새로 만들기 버튼을 누릅니다. 우리가 만들건 R Markdown 입니다.
필요한 패키지가 설치안 안되어 있는데, 설치할꺼냐고 물어보네요! 당연히 Yes를 눌러 패키지들을 설치해줍니다.
패키지가 설치되고 있습니다. 글자가 깨진 부분은 기능에는 이상이 없으니 우선은 넘어가겠습니다. 다음에 기회되면 한번 파보겠습니다.
드디어 Rmd 파일을 만드는 창이 열렸습니다. 많은 옵션이 있지만 저희는
기본으로 진행하려고 하니, 바로 OK
를 눌러주세요.
간단한 기능 설명이 포함되있는 문서가 만들어졌습니다. 그럼 간단하게만 구조를 확인해 볼까요?
우선 화면 내에 드래그 한 부분이 YAML header
입니다. YAML은 JSON, XML 같은 양식의 일종입니다.
마크다운에는 header
와 body
두 공간이 있습니다.
물론 대부분의 마크업이 같은 구성을 가지고 있습니다.
header
는 변환하기 위한 설정들을 작성하는 공간입니다. 지금
화면에서는 html
문서를 변환결과로 하겠다고 작성한 것입니다.
여기에서
html
로 변환할 때의 다양한 옵션을 확인하세요.
html
문서 이외에 다른 포멧들의 옵션도 설명이 잘되어
있습니다.
body 부분은 전부 markdown 문법을 그대로 지원합니다. 문법
설명은 정말 많이 있으니 한 번 확인해보세요. .Rmd
는 코드
덩어리에서 R 코드를 실행하고 결과를 함께 .md
로
변환해줍니다. 그래서 코드 덩어리 부분 문법만 확인하면 됩니다. 그 문법도
지금 범위는 아니니 레퍼런스를
확인해주세요!
편집 공간의 왼쪽 위에 보면 Knit
버튼이 있습니다. Knit를
바로 누르면 header
에 작성한 output
양식에 따라
바로 변환을 진행하구요. Knit
버튼의 화살표를 클릭하면 위의
이미지와 같이 선택할 수 있는 옵션들이 나옵니다. 우리는
.html
이 되어야 하므로, 가장 위에
Knit to HTML
을 클릭해 보겠습니다.
Knit
과정은 저장이 완료된 파일을 기준으로 변환을
진행하기 때문에 파일이 온전히 저장된 상태여야 합니다. .Rmd
파일을 저장하면 바로 변환 작업을 시작하며, 완료되면 팝업창으로 결과를
보여줍니다.
팝업창을 같이 확인해볼까요? 제일 위에 파일 이름을 보니
test.html
로 .html
확장자인 것을 확인할 수
있습니다. 팝업창은 기능이 제한적인 브라우저이므로
Open in Browser
버튼으로 크롬이나 익스플로러에서 파일을
확인할 수 있습니다.
드디어 Publish
버튼입니다. 처음 클릭하면 역시 추가
패키지 설치를 묻는 창이 나오네요. 이전 것도 마찬가지지만 한번 설치하면
다시 물어보지 않습니다. Yes
로 설치를 진행해 주세요.
Publish
는 두 곳이 가능합니다. 드디어 제가 소개해드린
RPubs
를 선택할 수 있게 되었네요. 제 눈에는
free service
가 크게 들여옵니다. ㅎㅎ
RStudio Connect
는 더 다양한 기능을 제공하는 방법(shiny
등)이면서 기업 라이선스에서 많이 사용하는 방법입니다.
RPubs
를 선택하겠습니다.
경고를 한번 해주는군요. Rpubs
는 무료 서비스이기 때문에
모든 사용자에게 공개되는 서비스입니다. 문서를 무료로
웹서비스에 올릴 수 있지만, 제한적인 공개가 어렵다는 단점이 있군요.
신기하게도 검색에도 잘 걸리는 편입니다. 파워포인트 형태의 결과물을
공유하는 slideshare와 비슷하게
보고서 형식의 문서를 공유하는 서비스라고 생각하면 좋을 것 같습니다.
Publish
버튼으로 드디어 문서를 업로드합니다.
두구두구두구두구둥!
브라우저 창이 열리면서 로그인과 회원가입을 선택하는 페이지가 열립니다. 회원가입으로 같이 따라가 볼까요? 로그인을 하면 바로 두 번째 스탭으로 넘어갑니다.
회원가입은 간단합니다. 아이디 역할을 할 email 주소, 문서상 공개될 Username, 이름과 비밀번호 , 비밀번호 확인입니다. 회원가입을 해주세요.
드디어 스텝 2 입니다. 문서의 제목과 설명을 설정할 수 있습니다.
Slug
라는 생소한 단어가 눈에 띕니다. 간단하게는 문서의
인터넷 주소라고 생각하면 좋습니다. 아무것도 설정하지 않으면 무작위
숫자로 자동 생성해줍니다. 저는 비운 채로 넘어가겠습니다.
짜잔! 축하합니다. 저와 같은 과정을 따라오셨다면 거의 비슷한 문서가 웹주소를 가진 상태로 세상에 공개되었을 겁니다. 예시는 그대로 공개해 두었으니 확인해보세요. http://rpubs.com/test_user0375/368575 링크를 클릭하셔도 좋습니다.
오른쪽 아래에 댓글 기능인 Comments
, 공유하는
Share
, 문서보기 모드인 Hide Toolbars
를 선택할
수 있습니다. 문서보기 모드가 많이 쓰일 것 같군요.
데이터 분석에 있어 결과의 공유는 매우 중요합니다. 특히 과학적 방법에 대한 설명과 재현성 확보를 통한 신뢰도 구축은 코드를 통한 문서화만이 달성할 수 있는 목표입니다. 물론 데이터 공유 방법이나 다른 것들이 받침되어야 하겠습니다.
R markdown 문서를 웹으로 공유해서 좋은 분석가가 되어 보는 것은 어떤가요?
If you see mistakes or want to suggest changes, please create an issue on the source repository.
Text and figures are licensed under Creative Commons Attribution CC BY-NC-ND 4.0. Source code is available at https://github.com/mrchypark/mrchypark.github.io, unless otherwise noted. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".
For attribution, please cite this work as
Park (2018, March 9). mrchypark: [R로나만의] 웹페이지 만들기 1탄 Rpubs. Retrieved from https://mrchypark.github.io/post/r로나만의-웹페이지-만들기/
BibTeX citation
@misc{park2018[r로나만의], author = {Park, Chanyub}, title = {mrchypark: [R로나만의] 웹페이지 만들기 1탄 Rpubs}, url = {https://mrchypark.github.io/post/r로나만의-웹페이지-만들기/}, year = {2018} }