[R] servr 패키지를 사용해서 .Rmd 파일들을 자동 rendering 하고 로컬 웹 서버로 올리기
R 분석과 프로그래밍/R 동적 문서(Dynamic Document) 2017. 5. 1. 00:22지난번 포스팅에서는 knitr 을 사용해서 source file 로 부터 R code 를 실행하고 pandoc 패키지로 Markdown 문서를 HTML 로 변환하는 작업을 소개하였습니다.
지난번 포스팅에 이어서, 이번 포스팅에서는현재 작업 경로에 있는 파일 중 '.Rmd' 확장자 이름을 가진 R Markdown 문서들에 대해서 knitr 이나 rmarkdown 을 사용해서 다시 컴파일하고, 이를 연동시켜서 HTML 페이지가 자동으로 갱신되도록 해주는 servr (Serve R Markdown based websites) 패키지의 rmdv2() 함수 사용법을 소개해보겠습니다. 간단히 말해서 R 과 HTML 페이지가 서로 연결되어서 R로 '.Rmd' 파일을 변경시키면 HTML 페이지가 자동으로 알아서 통신을 해서 문서를 갱신해준다는 뜻입니다.
작업 순서는 아래와 같습니다.
======================
1. 미리 만들어놓은 R Markdown Project 가 있다면 불러오기
2. servr 패키지 설치하고 불러오기
3. rmdv2() 함수를 사용해서 '.Rmd' 파일을 다시 컴파일하고 HTML 페이지 자동 갱신하기
4. 데몬 중지시키기 : servr::daemon_stop() 함수
======================
1. 미리 만들어놓은 R Markdown Project 가 있다면 불러오기
이전 포스팅에서 만들어 두었던 'RMarkDownDir' Project 를 불러오도록 하겠습니다. 아래의 화면캡쳐에 표시해 놓은 것처럼 RStudio Environment 화면 최우측 상단의 검정색 네모 상자에 아이콘을 클릭하면 Project list 가 나타나구요, 여기서 해당 프로젝트를 선택하면 됩니다.
Project를 선택하고 나면 해당 디렉토리에 있는 파일들을 불러오며, 작업 경로가 자동으로 세팅되고, 추가 작업하고 저장하고, 버전관리하고, 이래저래 매우 편리합니다.
[ R Project 리스트 확인하고 불러오기 ]
> # chceking working directory > getwd() [1] "C:/Users/Administrator/Documents/R_DynamicDoc/RMarkDownDir"
|
2. servr 패키지 설치하고 불러오기
servr 패키지는 간단히 말해서 "A simple HTTP server in R" 입니다.
(* https://cran.r-project.org/web/packages/servr/servr.pdf : Start an HTTP server in R to serve static files, or dynamic documents that can be converted to HTML files (e.g., R Markdown) under a given directory)
library(knitr) library(rmarkdown) # installing servr package # Serve R Markdown based websites install.packages("servr") library(servr) |
3. rmdv2() 함수를 사용해서 '.Rmd' 파일을 다시 컴파일하고 HTML 페이지 자동 갱신하기
# rendering .Rmd files, refreshing local web server automatically by using rmdv2() function rmdv2(serve = TRUE, in_session = FALSE, daemon=TRUE)
|
- serve = TRUE : 웹사이트를 serve 함
- in_session = FALSE : 현재의 R session 에서 R Markdown 을 rendering 하지 않고, 각각의 source document를 서로 다른 session 에서 컴파일 함 (default setting 은 FALSE 임)
- daemon = TRUE : 현재의 R session 을 막지않고 serve 함
우측 하단의 Viewer 창을 보면 아래 처럼 웹 경로가 미리보기처럼 생겼습니다.
웹 브라우저를 하나 뜨우고서 'http://localhost:4321' 을 입력해보세요. 그러면 아래의 화면 캡쳐처럼 로컬 웹 서버에서 R Markdown Project 의 파일들과 경로를 볼 수 있습니다.
위의 Index of ./ 웹 화면에서 'My_First_R_MarkDown.html' 링크를 클릭하면 아래처럼 R Markdown 문서가 HTML 로 변환(텍스트, R code, R summary statistics, Plots) 된 결과를 볼 수 있습니다.
전체 경로는 http://localhost:4321/My_First_R_MarkDown.html 이 되겠지요.
4. 데몬 중지시키기 : daemon_stop() 함수
# To stop the server, use servr::daemon_stop() function daemon_stop()
|
이상으로 R servr 패키지를 사용해서 .Rmd 파일들을 자동 rendering 하고 로컬 웹 서버로 올리는 방법 소개를 마치겠습니다.
다음번 포스팅에서는 .Rmd 소스파일의 코드 문법에 대해서 알아보겠습니다.
많은 도움 되었기를 바랍니다.
이번 포스팅이 도움이 되셨다면 아래의 '공감~♡'를 꾸욱 눌러주세요. ^^
'R 분석과 프로그래밍 > R 동적 문서(Dynamic Document)' 카테고리의 다른 글
[R] R Shiny 로 두 집단 간 평균 차이 t-검정(t-Test) 신뢰수준별 신뢰구간 구하는 웹 애플리케이션 만들기 (5) | 2019.06.30 |
---|---|
[R] R Shiny로 두 연속형 변수 간 상관계수, 산점도와 회귀선 그리는 앱 애플리케이션 만들기 (2) | 2019.06.30 |
[R] R Shiny로 연속형 변수 별 요약 통계량 조회하는 Interactive App 만들기 (0) | 2019.06.29 |
[R] rmarkdown HTML 문서의 포맷 정하기 (7) | 2017.05.02 |
[R] RStudio 를 사용해서 HTML 문서 만들기 (2) | 2017.04.30 |