[r] roxygen2를 사용하여 예제를 실행하지 않는 방법은 무엇입니까?

지금 Bing Maps 키에 의존 하는 지오 코딩 기능을 작성 중 입니다. 분명히 나는 ​​내 것을 게시하지 않고 예제가 없으면 실패합니다.

사용자가 수동으로 실행하지만 실행하지 않는 예제를 어떻게 포함 R CMD check합니까?



답변

사용하다 \dontrun{}

#'@examples
#'\dontrun{
#'geocode("3817 Spruce St, Philadelphia, PA 19104")
#'geocode("Philadelphia, PA")
#'dat <- data.frame(value=runif(3),address=c("3817 Spruce St, Philadelphia, PA 19104","Philadelphia, PA","Neverneverland"))
#'geocode(dat)
#'}


답변

귀하 \donttest{}의 모범에 사용할 수 있습니다 . 스 니펫은 문서에 제공되지만 R CMD 검사로 테스트되지는 않습니다.

더 많은 정보를 원하시면-> ?example

#' @example
\donttest{
    2^2
    }

이 2 ^ 2는 달릴 때 실행되지 않습니다. devtools::check()

심사하기 전에 직접 확인하십시오. 🙂


답변

태그 @example path/to/example.R대신 사용하는 사람들을 위해 파일 에서 직접 환경을 @examples사용할 수 있습니다 . 예를 들면\dontrunexample.R

# example.R
\dontrun{
# this is a long running example
for(i in seq(1, 1e5)) { lm(mpg ~ wt, data = mtcars) }
}

# some other shorter example
2 + 2


답변

Ari, 저는 roxygen2 (버전 4.1.0)도 사용합니다. 다음은 실제 부분이 시작될 때까지 내 함수 (gctemplate) 정의에서 내 roxygen2 마크 업의 끝입니다.

#' @examples
#' ## List all G-causalities in a VAR system of 5 variables that will be searched in the pattern of 1 
#' ## causer (like-independent) variable and 2 like-dependents conditional on 5-(1+2)=2 of the remaining 
#' ## variable(s) in the system. Variables are assigned to numbers 1 to nvars. 
#' ## "1 2 5 3 4" in the resulting line of gctemplate is to indicate the 
#' ## (conditonal, partial, etc.) G-causality from variable 1 to variables 2 and 5 
#' ## conditonal on variables 3 and 4.
#' # gctemplate(5,1,2)
#' ## The number of all G-causalities to be searched in the above pattern.
#' #dim(gctemplate(5,1,2))[[1]]
#' @importFrom combinat combn
#' @export
gctemplate <- function(nvars, ncausers, ndependents){
...

나는 GSee의 dontrun 방법을 알고 있습니다.
내 기술에서 숫자 예제와 숫자 예제를 설명하는 텍스트는 모두 주석입니다. 나는이 둘을 구별하기 위해 들여 쓰기를 사용합니다. “# ‘”뒤에는 각각 1 개의 샤프와 2 개의 샤프가 있습니다. 나는 항상 패키지에서 위의 “# ‘## / #’#”기술을 사용합니다. 사용자는 함수를 테스트 할 때마다 복사-붙여 넣기 작업을 수행해야합니다. 이 기술은-나에 따르면-소프트웨어 코딩 철학의 고전적인 주석 폭격과 더 유사합니다.


답변