パッケージを作成しようとしていますが、document()
を実行すると_NAMESPACE not generated by roxygen2. Skipped.
_が表示されます関数で_ggplot2,XML, R6
_パッケージを使用しようとしています。次の方法でインポートしています。
_#' @rdname visualization
#' @param hist_data A table of weather variables with PWS created by hist_data function
#' @param variable A character string of variable name
#' @examples
#' table <- getWeather(city = "San Francisco", state="CA")
#' please <- getConditionsTable(table, "2015-03-09")
#' tab <- hist_data(table, please)
#' head(tab)
#' plot_variable_across_all_pws(hist_data=tab, variable="tempi")
#' @import ggplot2
#' @import XML
#' @import R6
_
このエラーの原因は何だろうと思います。私のNamespace
にはexportPattern("^[^\\.]")
以外は何もありません。
また、私はHadleyによるRパッケージの本 http://r-pkgs.had.co.nz/namespace.html を調べていましたが、次の行で混乱しました:
「roxygen2を使用してNAMESPACEのみ、man/*。Rdのみ、またはその両方を生成することを選択できることに注意してください。名前空間に関連するタグを使用しない場合、roxygen2はNAMESPACEを変更しません。ドキュメントを使用しない場合関連するタグ、roxygen2はman /に触れません。」
これは私が間違っていることですか?または行方不明?
devtools::document()
を実行して、roxygen2がパッケージのソースディレクトリに新しいNAMESPACEファイルを生成するようにします。*** @export
タグは、Rソースファイルのroxygen2 docセクションにあります。
devtools
は、それ自体が生成しなかったDESCRIPTIONファイルとNAMESPACEファイルの上書きを回避しようとしていると思います(rコードに埋め込まれたroxygenコメントを使用するのではなく、自分で綿密に入力した場合の不安を回避します)。常に可能であるとは限りませんが、試みます。
私が理解しているように、主なメカニズムは、ファイルを生成するときにファイルの上部にコメントを投稿し、後でそのコメントを探すことです(たとえば、@include
sを使用する場合、エッジの周りに注意が必要です)説明ファイルで照合順序を作成しますが、ここではそれはあなたの問題ではないと思います)。
そのようなコメントの例は
# Generated by roxygen2 (4.1.0.9001): do not edit by hand
not generated by ...
メッセージはこれを警告しており、devtools
がroxygen2
を使用してNAMESPACEファイルを作成することはありません。 devtools::create()
ではなくRStudioを使用してパッケージを開始したため、コメントなしで言及したものがある可能性があります。
NAMESPACEファイルを削除するだけであれば、devtools::document()
でうまくいくと思います。
ところで、上記のコード例にはタイプミスがあります(#' @import ggplo2
の代わりにhave#' @import ggplot2
を使用しています)
上記の例はどれも私にとってはうまくいきませんでした。 NAMESPACE
ファイルを削除した場合、roxygen
はNAMESPACE
がないと不満を漏らしました。 NAMESPACE
ファイルを削除して再作成した場合( `touch、eg RStudio:Building package with roxygen2。Not Production NAMESPACE file )、roxygenはファイルが酸素。
解決策は、roxygenで作成された別のプロジェクトからNAMESPACE
ファイルをコピーすることでした。
また、NAMESPACEからすべてを単純に削除し、1行追加することもできます:exportPattern("^[[:alpha:]]+")
ファイルNAMESPACEを手動で変更した場合、devtools::document()
はこのファイルの上書きに失敗するため、以前のままになります。 NAMESPACEファイルからテキストを削除してこの行を挿入すると、devtools::document()
はファイルが新しいものと見なして上書きします。