Rパッケージの
ドキュメントを読もう!

2024-04-20 第112回R勉強会@東京
@eitsupi

はじめに

自己紹介

  • @eitsupi
  • 製造業大手→バイオベンチャー勤務
  • Excelが嫌になりRを触り初めて5年
  • 最近はPolars界隈によく出没

Rパッケージのヘルプは充実!

  • CRANにパッケージを提出する際に自動+人力で確認される
    • 不足していると受理されない
  • ヘルプ内の例は基本的にCRAN上で定期的にチェックされているので、動くはず
  • CRAN上でPDFマニュアルも提供されている

R本体のヘルプ

Getting Help with R

Before asking others for help, it’s generally a good idea for you to try to help yourself.

R公式サイトに“Getting Help with R”というページがあり、後述のhelp()関数の使い方やウェブ上の検索エンジンの紹介があります。

help関数など

(CRANからインストールした)Rパッケージには
ドキュメントが付属していて、help()関数や?演算子で
インストール済のドキュメントを呼び出せます。

Rコンソール
help("?") # help関数で?のドキュメントを呼び出す
?help     # ?演算子でhelp関数のドキュメントを呼び出す

help.search()関数や??演算子で
ドキュメント全体を検索することもできます。

Rコンソール
??"help search" # ??演算子を使って「help search」と検索

インターネットサーチエンジン

RSiteSearch()でも呼び出されるhttps://search.r-project.org/というページがあり、関数名などで検索するとCRAN上のパッケージのドキュメントが引っかかります。

サードパーティのシステム

pkgdown (1/3)

pkgdownは一番広く使われているRパッケージ用のウェブサイトを作成するためのパッケージです。

↑のように各Rパッケージに設定できるURLの1つ目としてpkgdown製ウェブサイトが設定されていることが多いです。

pkgdown (2/3)

pkgdownで作られた関数のドキュメントでは例の実行結果も同時に表示されていて分かりやすいです。

pkgdown (3/3)

また、pkgdown上のRコードブロック内では、それぞれの関数がリンクになる(下の画像のselect)ので、例の中の知らない関数についてもすぐに調べられます。

Rdrr.io

CRAN上やBioconductor上のパッケージのドキュメントを独自に保持しているサイトです(あんまり詳しくないです……)。

pkgdown製のウェブサイトを持たないパッケージの関数に対して、pkgdown(正確にはdownlit)が自動リンク先として使用するウェブサイトで、関数名で検索したり関数のソースコードを見たりできます。

RDocumentation

DataCamp社の運営している、Rdrr.ioと似たサイトです。Google等で関数を検索すると上位に出てくることが多いです。

Rdrr.ioと比較して

  • UIがモダンでわかりやすい
  • 最新のパッケージのドキュメントを保持していない
    • 例えばbaseパッケージのようなR本体に付属しているパッケージのバージョンは3.6.2(2019年12月リリース)

簡単に調べるには良いのですが最新の情報については別の場所で確認する必要があると感じています。

https://github.com/cran

CRAN上のパッケージをすべて(非公式に)ミラーしているGitHub組織です。

ドキュメントというよりはソースコードですが、GitHubアカウントにログインしていればGitHubの高性能な検索機能でCRAN上のRパッケージを横断検索できるので便利です。

R-universe

CRAN上のすべてのパッケージを含む大量のパッケージのドキュメントを独自にレンダリングして保持しています。

ドキュメントはシンプル目ですがCRANよりちょっと豪華な表示。

エクスポートされている関数名で検索することもできたり、総合力が高いです(?)。

まとめ

私のオススメ

  • 横断:GitHubR-universe
  • 詳細:各パッケージのpkgdownサイト(あれば)

Enjoy!