22

開発中のパッケージの Rd ファイルを生成するために Roxygen を使用していますが、デフォルトのパラメーターが '\n'に設定されている関数には問題があります。

  lineCount <- function(text, sep='\n') {
       ...
   }

どの目的は、文字列内の改行 ( '\n') 文字をカウントすることです。問題は、R CMD チェックで次の警告が表示されることです。

Codoc mismatches from documentation object 'lineCount':
lineCount
  Code: function(text, sep = "\n")
  Docs: function(text, sep = " ")
  Mismatches in argument default values:
    Name: 'sep' Code: "\n" Docs: " "

この問題は、Rdファイルへの書き込みが原因のようです(標準のLaTeXファイルへの書き込みにはcat()、何らかの目的でエスケープ文字を常に二重にする必要があります。たとえば\\newline 、私が経験したように)。次のように、区切り記号に余分なバックスラッシュを付けると:

  lineCount <- function(text, sep='\\n') {
       ...
   }

コードでは のよう'\\n'に見えますが、ドキュメント (Rd ファイル) では'\n'.

私の問題の簡単な解決策はありますか? 関数のパラメーターを Rd ファイルに書き込む方法を定義できる Roxygen の追加のタグでしょうか? あまりにも明白な質問をされた場合は申し訳ありませんが、しばらく Google を使用した後、迷ってしまいます。


歴史: http://permalink.gmane.org/gmane.comp.lang.r.roxygen/24


更新: roxygen2を使用してください!

4

5 に答える 5

0

私も同じ問題を抱えていました。@usage を使用して、ソース コードから roxygen によって生成されたデフォルトの使用法フィールドを上書きすることになりました。たとえば、R ソース ファイルには

#' @usage sourceall(dir = getwd(), pattern = ".*\\\\.R", ...)
sourceall <- function( dir=getwd(), pattern=".*\\.R", ... )
{
    blah blah
}
于 2013-06-26T14:04:41.040 に答える