1 plumber 헬로 월드

plumber - An R package that converts your existing R code to a web API using a handful of special one-line comments.에 나와 있는 plumber 예제를 바탕으로 RESTful API를 헬로월드를 작성한다.

1.1 /echo 메시지 서비스

가장 먼저 웹브라우저 주소창에 http://localhost:8000/echo?msg="Hello_World"을 입력시켰을 때 msg 매개변수로 “Hello_World”를 전달했을 때 이를 메아리치는 경우를 구현해보자.

$msg
$msg[[1]]
[1] "The message is: '\"Hello_World\"'"

1.2 /plot 그래프

/plot 시각화를 위해서 몇가지 조작을 해야는데 먼저 /ggplot으로 서비스를 준비한다. Rmarkdown 이미지를 넣기 위해서 plot(0:1, 0:1, type = "n") 사전 설정을 하고, rasterImage(0, 0, 1, 1)를 통해 숫자로 나온 결과를 시각화 시킨다.

/plot 서비스는 Base 그래픽으로 결과를 출력하는 사례다.

1.3 /sum_two 그래프

/sum_two 서비스는 두개의 값을 받아 더하기 하는 단순한 함수로 입력값을 받아 적절히 처리하는 사례를 모사한다.

[[1]]
[1] 17

2 R마크다운 문서 제작

RESTful API를 R마크다운 문서화를 위해서 먼저 제작된 RESTful API를 띄워놓고 이를 R마크다운 문서에서 불러다 호출하는 방식으로 HTML 문서를 제작한다. 이 과정에서 RESTful API 호출결과를 가져올 경우 이를 파싱해서 적절한 형태로 전환시켜야 하는데 이를 위해서 httr 팩키지 content() 함수와 시각화 객체를 객체를 PNG 파일로 삽입시키는데 rasterImage() 함수를 사용한다.

plumber와 R마크다운

plumber와 R마크다운