[R로나만의] 웹페이지 만들기 1탄 Rpubs

R rpubs web html Rmd R로나만의

Rmd + RPubs로 웹페이지를 만들 수 있다. github pages 소개하려다 돌린건 안 비밀.

true
2018-03-09

세줄요약

  1. Rmd + RPubs로 웹페이지를 만들 수 있다.
  2. Rstudio에서 하면 쉽다.
  3. github pages 소개하려다 돌린건 안 비밀.

Web에 자신의 결과물을 정리하고 공개하는 것은 시간이 가면 갈 수록 그 중요성을 더해 가고 있습니다.

오늘날 웹사이트를 가지지 않은 사람은 존재하지 않는 것이다.

저는 코드 공유 SNS인 Github을 이용해 코드를 공유하고 대화하는 것을 공부하다 github pages에 대해 알게 되었습니다. 거기에 .Rmd 파일은 웹기술에 대한 사전지식 없이 .html 파일로 변환할 수 있었습니다. R 마크다운 + github pages 조합으로 R에서 만들 수 있는 여려 결과물들을 웹으로 공개하여 인터넷 주소로 공유하는 방법이 있는 것입니다. 이건 다음 번에 설명하기로 하고, Rstudio를 이용해서 .Rmd 문서를 .html 파일로 변경하여 웹페이지로 만들어주는 Rpubs라는 서비스를 소개하겠습니다.

Rpubs

RpubsEasy 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 입니다. YAMLJSON, XML 같은 양식의 일종입니다. 마크다운에는 headerbody 두 공간이 있습니다. 물론 대부분의 마크업이 같은 구성을 가지고 있습니다. 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 문서를 웹으로 공유해서 좋은 분석가가 되어 보는 것은 어떤가요?

Corrections

If you see mistakes or want to suggest changes, please create an issue on the source repository.

Reuse

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 ...".

Citation

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}
}