지난번 포스팅에서는 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 소스파일의 코드 문법에 대해서 알아보겠습니다. 


많은 도움 되었기를 바랍니다. 

이번 포스팅이 도움이 되셨다면 아래의 '공감~♡'를 꾸욱 눌러주세요. ^^

728x90
반응형
Posted by Rfriend
,