RStudio에서 패키지 개발하는 방법입니다. roxygen 패키지는 LaTex문서 생성를 쉽계 하며, R 패키지에서 요규하는 문서를 쉽게 작성할 수 있다. roxygen 툴은 한글 지원에 문제가 있다.
이 문서는 RStudio 에서 패키지 개발 게시글의 연속이다.
OS: Window 7
RStudio Version: 0.99.893
R Version: R x64 3.2.3
devtools, roxygen2 패키지가 설치되어 있다야 한다
패키지 설치:
install.packages("devtools")
install.packages("roxygen2")
패키지 로드
libarary(devtools)
install.packages(roxygen2)
- 함수 위에 아래와 같이 타이핑한다
#' Sqaure a number #' #' Takes in any numeric value and squares it. #' @param x A numeric value to be squared #' @return T square of the input #' @export square <- function(x){ return (x^2) }
태그 설명 #' roxygen 문서를 의미한다. 첫줄 ~ 셋째 줄 첫줄: 함수 명, @title 과 같음
셋째 줄 : 함수 설명, @description 같음@param 함수의 파라메터를 설명 @return 함수의 리턴값을 설명 @export 이 태그를 사용하면 배포된 패키지가 로드되었을 때 패키지 태그 없이 바로 함수명으로 접근 가능하다
mypkg::square(), square()으로 사용 가능
- CTRL+SHIFT+D 단축키를 사용하여 문서를 생성한다.
- 문서 생성이 성공적이면 아래 그림과 같이 우측하단의 FILES TAB에서 ./mypkg/man 디렉토리에 square.rd 파일이 생긴다.
문서 생성이 성공적인 경우 rd 파일 생김 - square.rd 파일을 열어 보면 아래와 같은 내용을 볼 수 있다
% Generated by roxygen2: do not edit by hand % Please edit documentation in R/square.R \name{square} \alias{square} \title{Sqaure a number} \usage{ square(x) } \arguments{ \item{x}{A numeric value to be squared} } \value{ T square of the input } \description{ Takes in any numeric value and squares it. }
- rd 파일을 열고, 툴바에서 미리보기 아이콘을 실행하거나, 메뉴에서 Build and Reload(CTRL+SHIFT+B) 실행하고, 우측하단의 Packages TAB에서 빌드된 패키지를 클릭하면 문서 내용을 확인 할 수 있다.
rd 내용 보기
아래와 같이 한글이 코드에 한글이 있으면 DOCUMENT를 생성 할 때 에러가 발행한다.
#' Sqaure a number #' #' Takes in any numeric value and squares it. #' @param x A numeric value to be squared #' @return 입력 값을 보여 줍니다. <= 에러가 발생 #' @export getMessage <- function(x){ return (cat(3, "을 입력했습니다.")) <= 에러가 발생, 위의 return 구문에 한글이 없어도 에러 발생 }
댓글 없음:
댓글 쓰기