计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
write-vignette【效率与协作】R MarkdownまたはQuartoを使用してRパッケージのビネットを作成する。 ビネットのセットアップ、YAML設定、コードチャンクオプション、ビルドとテスト、 ビネットのCRAN要件を網羅。「はじめに」チュートリアルの追加、複数の関数にまたがる 複雑なワークフローの文書化、ドメイン固有のガイド作成、またはCRAN投稿で 関数ヘルプページを超えたユーザー向けドキュメントが必要な時に使用する。
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Rパッケージの長文ドキュメントビネットを作成する。
usethis::use_vignette("getting-started", title = "Getting Started with packagename")
期待結果: YAMLフロントマターを持つvignettes/getting-started.Rmdが作成される。DESCRIPTIONのSuggestsフィールドにknitrとrmarkdownが追加される。vignettes/ディレクトリが存在する。
失敗時: usethis::use_vignette()が失敗する場合、作業ディレクトリがパッケージルート(DESCRIPTIONが含まれる)であることを確認する。knitrがインストールされていない場合はinstall.packages("knitr")を実行する。手動で作成する場合はvignettes/ディレクトリとファイルを作成し、YAMLフロントマターに3つの%\Vignette*エントリすべてが含まれていることを確認する。
---
title: "Getting Started with packagename"
output: rmarkdown::html_vignette
vignette: >
%\VignetteIndexEntry{Getting Started with packagename}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
---
## Introduction
Brief overview of what the package does and who it's for.
## Installation
```r
install.packages("packagename")
library(packagename)
```
## Basic Usage
Walk through the primary workflow:
```r
# Load example data
data <- example_data()
# Process
result <- main_function(data, option = "default")
# Inspect
summary(result)
```
## Advanced Features
Cover optional or advanced functionality.
## Conclusion
Summarize and point to other vignettes or resources.
期待結果: ビネットのRmdファイルに「はじめに」、インストール、基本的な使い方、高度な機能、まとめのセクションが含まれる。コード例がパッケージのエクスポートされた関数を使用して表示可能な出力を生成する。
失敗時: 例が実行に失敗する場合、devtools::install()でパッケージがインストールされているか確認する。例が(devtools::load_all()ではなく)library()呼び出しでパッケージ名を使用していることを確認する。外部リソースを必要とする関数には、実行せずにコードを表示するためにeval=FALSEを使用する。
異なる目的でチャンクオプションを使用する:
# 標準的な評価チャンク
{r example-basic}
result <- compute_something(1:10)
result
# コードを表示するが実行しない(例示目的)
{r api-example, eval=FALSE}
connect_to_api(key = "your_key_here")
# コードを非表示にして実行する(出力のみ表示)
{r hidden-setup, echo=FALSE}
library(packagename)
# グローバルオプションを設定
{r setup, include=FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.width = 7,
fig.height = 5
)
期待結果: include=FALSEを持つsetupチャンクがグローバルオプション(collapse、comment、fig.width、fig.height)を設定する。チャンクが適切に設定される:例示コードにはeval=FALSE、隠しセットアップにはecho=FALSE、インタラクティブな例には標準チャンク。
失敗時: チャンクオプションが効果を発揮しない場合、構文が{r chunk-name, option=value}形式(カンマ区切り、論理値に引用符なし)を使用していることを確認する。setupチャンクがドキュメントの先頭に配置されていることを確認する。
ネットワークアクセスやオプションパッケージが必要なビネットの場合:
{r check-available, include=FALSE}
has_suggested <- requireNamespace("optionalpkg", quietly = TRUE)
{r use-suggested, eval=has_suggested}
optionalpkg::special_function()
長時間実行される計算の場合、結果を事前計算して保存する:
# Save pre-computed results to vignettes/
saveRDS(expensive_result, "vignettes/precomputed.rds")
# Load in vignette
{r load-precomputed}
result <- readRDS("precomputed.rds")
期待結果: 外部依存関係が適切に処理される:オプションパッケージはrequireNamespace()で条件付き読み込み、ネットワーク依存コードはeval=FALSEまたはtryCatch()を使用、コストのかかる計算は事前計算済みの.rdsファイルを使用する。
失敗時: オプションパッケージが利用不可のためにCRANでビネットが失敗する場合、それらのセクションを条件変数で囲む(例:eval=has_suggested)。事前計算済みの結果は、.rdsファイルがvignettes/ディレクトリに含まれていて相対パスで参照されていることを確認する。
# Build single vignette
devtools::build_vignettes()
# Build and check (catches vignette issues)
devtools::check()
期待結果: ビネットがエラーなくビルドされる。HTML出力が読みやすい。
失敗時:
.RenvironでRSTUDIO_PANDOCを設定するdevtools::install()を実行するdevtools::check()
ビネット関連のチェック:正しくビルドされる、時間がかかりすぎない、エラーがない。
期待結果: devtools::check()がビネット関連のエラーや警告なしでパスする。ビネットがCRANの時間制限内(通常60秒以内)にビルドされる。
失敗時: ビネットがチェック失敗を引き起こす場合、一般的な修正には:DESCRIPTIONへのSuggestsパッケージの追加、低速なチャンクへのeval=FALSEの使用によるビルド時間の短縮、VignetteIndexEntryがタイトルと一致していることの確認が含まれる。ビネット固有のエラーを分離するためにdevtools::build_vignettes()を別途実行する。
devtools::build_vignettes()でビネットがエラーなくビルドされるdevtools::check()がビネット警告なしでパスするvignette(package = "pkg")でユーザーに表示されるものと一致しなければならないvignette YAMLブロックの欠如: 3つの%\Vignette*行すべてが必要eval=FALSEを使用するRSTUDIO_PANDOC環境変数が設定されていることを確認するdevtools::load_all()ではなくlibrary(packagename)を使用するwrite-roxygen-docs - ビネットチュートリアルを補完する関数レベルのドキュメントbuild-pkgdown-site - ビネットはpkgdownサイトの記事として表示されるsubmit-to-cran - CRANにはビネットに固有の要件があるcreate-quarto-report - R Markdownビネットの代替としてのQuarto