web-dev-qa-db-ja.com

roxygen2を使用してサンプルを実行しない方法

現在、Bing Mapsキーを使用することに依存している ジオコーディング関数 を書いています。明らかに、私は私のものを公開したくないし、例はそれなしでは失敗します。

ユーザーが手動で実行するが、R CMD check中に実行されない例を含めるにはどうすればよいですか?

77
Ari B. Friedman

使用する \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)
#'}
121
GSee

_\donttest{}_を例に使用できます。スニペットはドキュメントで提供されますが、R CMDチェックではテストされません。

詳細情報-> _?example_

_#' @example
\donttest{
    2^2
    }
_

devtools::check()を実行すると、この2 ^ 2は実行されません。

判断する前に自分で確認してください。 :)

14
samkart

@example path/to/example.Rタグの代わりに@examplesタグを使用している場合、\dontrunファイルでexample.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
3
Peter

アリ、私は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メソッドを知っています。
私の手法では、数値の例と数値の例を説明するテキストは両方ともコメントです。私はインデントを使用して、これら2つを区別します。 「#」の後にそれぞれ1つのシャープと2つのシャープがあることに注意してください。私は常にパッケージで上記の「# '## /#'#」テクニックを使用しています。ユーザーは、関数をテストしたいときはいつでもコピー/ペースト操作を行う必要があります。私によると、この手法は、ソフトウェアコーディングの哲学に対する古典的なコメント攻撃と並行しています。

0
Erdogan CEVHER