Rパッケージ

大きな青いR
Rロゴ

Rパッケージは、統計プログラミング言語R拡張機能です。Rパッケージには、コード、データ、ドキュメントが標準化されたコレクション形式で含まれており、RユーザーはCRAN(Comprehensive R Archive Network)などの集中型ソフトウェアリポジトリを介してインストールできます。 [ 1 ] [ 2 ] Rで利用可能なパッケージの数の多さと、それらのインストールと使用の容易さは、データサイエンスにおけるR言語の広範な採用を促進する主な要因として挙げられています。[ 3 ] [ 4 ] [ 5 ] [ 6 ]

他のプログラミング言語のライブラリと比較して、Rパッケージは比較的厳格な仕様に準拠する必要があります。[ 3 ] R拡張機能の記述マニュアル[ 7 ]では、Rのソースコード、データ、ドキュメント、パッケージメタデータの標準ディレクトリ構造が指定されており、Rの組み込みパッケージ管理ツールを使用してインストールおよびロードできます。[ 3 ] CRANで配布されるパッケージは、追加の標準を満たす必要があります。[ 3 ] [ 8 ] John Chambersによると、これらの要件はパッケージ開発者に「かなりの要求を課す」一方で、エンドユーザーにとってのパッケージの使いやすさと長期的な安定性を向上させます。[ 3 ]

リポジトリ

包括的なRアーカイブネットワーク(CRAN)

基本的なウェブサイトのホームページ。大部分はボックス内のテキストと青色のリンクで構成され、上部に「The Comprehensive R Archive Network」というタイトル、左上隅に R プログラミング言語のロゴがあります。
包括的Rアーカイブネットワーク(CRAN)のホームページ

包括的Rアーカイブネットワーク(CRAN)は、R FoundationによってサポートされているRの中央ソフトウェアリポジトリです。 [ 9 ]最新および以前のバージョンのRディストリビューション、ドキュメント、寄稿されたRパッケージのアーカイブが含まれています。[ 10 ] WindowsmacOS用のソースパッケージコンパイル済みバイナリの両方が含まれています。[ 11 ] 2020年11月現在、16,000を超えるパッケージが利用可能です。[ 12 ] CRANは、1997年にKurt HornikFriedrich Leischによって作成され、 [ 13 ] [ 14 ]その名前は、TeXCTAN(1992年リリース)やPerlCPAN(1995年リリース)など、他の初期のパッキングシステムに似ています。[ 15 ] 2021年現在、Hornikとボランティアのチームによってまだメンテナンスされています。[ 9 ]マスターサイトはウィーン経済大学にあり、世界中のサーバーにミラーリングされています。 [ 10 ]

R CRAN タスクビューのホームページ

CRANウェブサイト[ 16 ]の「タスクビュー」ページ(分野別リスト)には、Rパッケージが利用可能な幅広いタスク(金融、遺伝学、高性能コンピューティング機械学習医用画像メタ分析社会科学空間統計など)がリストアップされています。CRANパッケージを閲覧する別の方法はMetacran [ 17 ]で、こちらも注目パッケージ、ダウンロード数の多いパッケージ、トレンドパッケージ、最も依存されているパッケージのリストを提供しています。

CRANパッケージの数は長年にわたって飛躍的に増加しており、 [ 18 ] 2018年時点では、毎日平均21件の新規または更新されたパッケージの申請が行われています。[ 6 ]各申請はCRANメンテナーの少人数チームによって手動でレビューされており、Rコア開発者のピーター・ダルガード氏によると、その多くが「年金受給年齢に近づいている」ため、このシステムは長期的には持続可能ではないという懸念があります。[ 6 ] CRANの成長により、その依存関係管理インフラストラクチャの限界が明らかになりました。特に、依存関係は常にパッケージの最新バージョンを参照していると想定されているため、CRANパッケージの新しいリリースは常に下位互換性がなければならないこと、[ 19 ]また、CRANパッケージはCRAN以外の依存関係を持つことができません。[ 20 ]また、パッケージの品質低下に対する懸念も生じています。[ 21 ]

MRANとPositパッケージマネージャー

Microsoft R アプリケーション ネットワーク (MRAN) のホームページ

Microsoft R Application Network (MRAN) は、 Microsoftが管理する CRAN のミラーであり、同社の R のダウンストリームディストリビューションであるMicrosoft R Open (旧 Revolution R Open) に基づいています。[ 22 ]また、「CRAN Time Machine」と呼ばれる毎日の CRAN スナップショットのアーカイブも含まれており、MRAN のユーザーは、パッケージチェックポイントを介して固定の R パッケージバージョンセットをインストールすることで、CRAN の依存関係バージョン管理の制限を回避できます。[ 23 ] [ 24 ] 2023年1月、Microsoft は MRAN を廃止し、関連する Web サイトとリポジトリを 2023年7月に利用できなくなると発表しました。[ 25 ]

Posit パッケージ マネージャーのホームページ

Posit Package Manager(旧称RStudio Package Manager)はRStudioの開発者によって作成された同様のツールで、CRANスナップショットに加えて、BioconductorのRパッケージとPython Package IndexのPythonパッケージのアーカイブが含まれています。[ 26 ]また、Linux用にコンパイル済みのバイナリパッケージも配布しています(CRANにはWindowsとmacOSのバイナリのみが含まれています)。[ 27 ]

その他のリポジトリ

Bioconductorプロジェクトはゲノムデータ解析用のRパッケージを提供しています。これには、AffymetrixcDNAマイクロアレイ、次世代ハイスループットシーケンシング法のデータに対応したオブジェクト指向のデータ処理および解析ツールが含まれています。[ 28 ]

R-Forgeのホームページ

R-Forge [ 29 ]は、Rパッケージ、R関連ソフトウェア、およびプロジェクトの共同開発のための中心的なプラットフォームです。R-Forgeは、多くの未公開のベータパッケージやCRANパッケージの開発版もホストしています。

Rは15個の「基本パッケージ」とともに配布されています:base、compiler、datasets、grDevices、graphics、grid、methods、parallel、splines、stats、stats4、tcltk、tools、translations、utilsです。[ 30 ]

さらに、RのバイナリディストリビューションにはCRANの「推奨パッケージ」が15個含まれている:KernSmooth、MASS、Matrix、boot、class、cluster、codetools、foreign、lattice、mgcv、nlme、nnet、rpart、spatial、survival。[ 30 ]

その他のパッケージ

tidyverseと呼ばれるパッケージ群は、「R言語の方言」とも言えるもので、Rエコシステムにおいてますます人気が高まっています。2025年8月1日現在、Metacranはtidyverseの8つのコアパッケージのうち6つを、最もダウンロードされたRパッケージのリストに掲載しています。[ 17 ]このパッケージ群は、データのインポート、クリーニング、変換、可視化(特にggplot2パッケージを用いたもの)など、一般的なデータサイエンスタスクを処理するための統合された関数群を提供することを目指しています。

Rインフラストラクチャパッケージは、Rパッケージのコーディングと開発をサポートしており、2025年8月1日現在、Metacranは最もダウンロードされている25のパッケージの中にこれらのパッケージの8つを挙げています。[ 17 ] [ 31 ]

参照

参考文献

  1. ^ Hornik, Kurt (2020-02-20). 「Rに関するよくある質問」 . The Comprehensive R Archive Network . 7.29: パッケージとライブラリの違いは何ですか?2011-07-09時点のオリジナルからアーカイブ。 2020年11月2日閲覧{{cite web}}: CS1 メンテナンス: 場所 (リンク)
  2. ^ Wickham, Hadley; Bryan, Jennifer. 「Introduction」. R Packages (第2版). 2022年6月29日時点のオリジナルよりアーカイブ。 2020年11月2日閲覧
  3. ^ a b c d e Chambers, John M. (2020). "S, R, and Data Science" . The R Journal . 12 (1): 462– 476. doi : 10.32614/RJ-2020-028 . ISSN 2073-4859 . 2020年11月1日時点のオリジナルよりアーカイブ。 2020年11月2日閲覧 
  4. ^ Vance, Ashlee (2009年1月6日). 「Rのパワーに魅了されたデータアナリストたち」 . New York Times . 2021年5月2日時点のオリジナルよりアーカイブ。 2020年11月2日閲覧
  5. ^ Tippmann, Sylvia (2014-12-29). 「プログラミングツール:Rとの冒険」 . Nature News . 517 (7532): 109– 110. doi : 10.1038/517109a . PMID 25557714 . 
  6. ^ a b c Thieme, Nick (2018). 「R世代」 .意義. 15 (4): 14– 19. doi : 10.1111/j.1740-9713.2018.01169.x . ISSN 1740-9713 . 
  7. ^ 「R拡張機能の作成」 . The Comprehensive R Archive Network . 2020年11月12日時点のオリジナルよりアーカイブ。 2020年11月2日閲覧
  8. ^ 「CRANリポジトリポリシー」 .包括的Rアーカイブネットワーク. 2020年11月5日時点のオリジナルよりアーカイブ2020年11月2日閲覧。
  9. ^ a b CRANリポジトリメンテナー。「CRANリポジトリポリシー」包括的Rアーカイブネットワーク。Rプロジェクト。2020年11月11日時点のオリジナルよりアーカイブ。 2020年11月20日閲覧
  10. ^ a b Hornik, Kurt (2020-02-20). 「Rに関するよくある質問」 .包括的なRアーカイブネットワーク. 2.1: CRANとは?: Rプロジェクト. 2011年7月9日時点のオリジナルよりアーカイブ。 2020年11月20日閲覧{{cite web}}: CS1 メンテナンス: 場所 (リンク)
  11. ^ CRANリポジトリメンテナー。「包括的なRアーカイブネットワーク」。Rプロジェクト。2019年1月23日時点のオリジナルよりアーカイブ。 2020年11月20日閲覧
  12. ^ CRANリポジトリメンテナー。「CRAN - 寄贈パッケージ」包括的なRアーカイブネットワーク。CRAN。2020年11月24日時点のオリジナルよりアーカイブ。 2020年11月20日閲覧
  13. ^ Hornik, Kurt (1997-04-23). "ANNOUNCE: CRAN" . r-announce (メーリングリスト). 2021年3月8日時点のオリジナルよりアーカイブ。 2020年11月20日閲覧
  14. ^ Thieme, Nick (2018). 「R世代」 .意義. 15 (4): 14– 19. doi : 10.1111/j.1740-9713.2018.01169.x . ISSN 1740-9713 . 
  15. ^ Fitzgerald, Brian (2016年2月9日). 「プログラミング言語パッケージシステムの概観」 . Some Things Are Obvious . 2020年11月9日時点のオリジナルよりアーカイブ2021年5月4日閲覧。
  16. ^ 「CRAN Task Views」 . cran.r-project.org . 2011年7月9日時点のオリジナルよりアーカイブ2018年9月16日閲覧。
  17. ^ a b c “Metacran” . 2025年8月1日時点のオリジナルよりアーカイブ2025年8月1日閲覧。
  18. ^ Asay, Matt (2016年4月21日). 「Rのオープンソースコミュニティの急激な成長は、商業競合企業を脅かす」 . TechRepublic . 2020年10月26日時点のオリジナルよりアーカイブ。 2020年11月2日閲覧
  19. ^ Ooms, Jeroen (2013). 「Rにおける依存関係のバージョン管理の改善に向けた可能な方向性」 . The R Journal . 5 (1): 197– 206. arXiv : 1303.2140 . doi : 10.32614/RJ-2013-019 . ISSN 2073-4859 . S2CID 6791850. 2020年9月19日時点のオリジナルよりアーカイブ2020年11月2日閲覧  
  20. ^ Decan, A.; Mens, T.; Claes, M.; Grosjean, P. (2016). 「GitHubとCRANの出会い:リポジトリ間パッケージ依存関係問題の分析」. 2016 IEEE 第23回国際ソフトウェア分析・進化・リエンジニアリング会議 (SANER) . 第1巻. pp.  493– 504. doi : 10.1109/SANER.2016.12 . ISBN 978-1-5090-1855-0. S2CID  16751624 .
  21. ^ Hornik, Kurt (2012). 「Rパッケージは多すぎるのか?」オーストリア統計ジャーナル41 (1): 59–66–59–66. doi : 10.17713/ajs.v41i1.188 . ISSN 1026-597X . 2020年11月26日時点のオリジナルよりアーカイブ。 2020年11月2閲覧 
  22. ^ “Welcome to MRAN” . Microsoft R Application Network . Microsoft . 2021年5月4日時点のオリジナルよりアーカイブ。 2021年5月4日閲覧
  23. ^ 「再現性:固定されたCRANリポジトリスナップショットの使用」。Microsoft R Application Network。Microsoft。 2021年5月2時点のオリジナルよりアーカイブ2021年5月4日閲覧
  24. ^ Smith, David (2019年5月22日). 「MRANスナップショットとあなた」 . Revolutions . Revolution Analytics . 2021年5月4日時点のオリジナルよりアーカイブ2021年5月4日閲覧。
  25. ^ 「Microsoft R アプリケーションネットワークの廃止」 . techcommunity.microsoft.com . 2023年11月15日閲覧。
  26. ^ Lopp, Sean (2020年12月7日). 「RStudio Package Manager 1.2.0 - Bioconductor & PyPI」 . RStudio Blog . RStudio . 2021年5月4日時点のオリジナルよりアーカイブ。 2021年5月4日閲覧
  27. ^ Lopp, Sean (2020年7月1日). 「Public Package Managerとv1.1.6の発表」 . RStudio Blog . RStudio . 2021年5月4日時点のオリジナルよりアーカイブ。 2021年5月4日閲覧
  28. ^ Huber, W; Carey, VJ; Gentleman, R ; Anders, S; Carlson, M; Carvalho, BS; Bravo, HC; Davis, S; Gatto, L; Girke, T; Gottardo, R; Hahne, F; Hansen, KD; Irizarry, RA ; Lawrence, M; Love, MI; MacDonald, J; Obenchain, V; Oleś, AK; Pagès, H; Reyes, A; Shannon, P; Smyth, GK; Tenenbaum, D; Waldron, L; Morgan, M (2015). 「Bioconductorを用いたハイスループットゲノム解析のオーケストレーション」 . Nature Methods . 12 (2). Nature Publishing Group : 115–121 . doi : 10.1038/nmeth.3252 . PMC 4509590 . PMID 25633503 .  
  29. ^ “R-Forge: Welcome” . 2018年9月14日時点のオリジナルよりアーカイブ2018年9月16日閲覧。
  30. ^ a b Hornik, Kurt (2020-02-20). 「Rに関するよくある質問」 . The Comprehensive R Archive Network . 5.1: Rにはどのようなアドオンパッケージがありますか? . 2011-07-09時点のオリジナルからアーカイブ。 2020年11月2日閲覧{{cite web}}: CS1 メンテナンス: 場所 (リンク)
  31. ^ 「Rインフラストラクチャ」 R -universe . 2025年8月1日閲覧

さらに読む