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)包括的Rアーカイブネットワーク(CRAN)のホームページ 包括的Rアーカイブネットワーク(CRAN)は、R FoundationによってサポートされているRの中央ソフトウェアリポジトリです。 [ 9 ] 最新および以前のバージョンのRディストリビューション、ドキュメント、寄稿されたRパッケージのアーカイブが含まれています。[ 10 ] Windows とmacOS 用のソースパッケージ とコンパイル済み バイナリの 両方が含まれています。[ 11 ] 2020年11月現在、16,000を超えるパッケージが利用可能です。[ 12 ] CRANは、1997年にKurt Hornik とFriedrich Leisch によって作成され、 [ 13 ] [ 14 ] その名前は、TeX のCTAN (1992年リリース)やPerl のCPAN (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パッケージを提供しています。これには、Affymetrix 、cDNA マイクロアレイ 、次世代ハイスループットシーケンシング法のデータに対応し たオブジェクト指向の データ処理および解析ツールが含まれています。[ 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 ]
参照
参考文献 ^ Hornik, Kurt (2020-02-20). 「Rに関するよくある質問」 . The Comprehensive R Archive Network . 7.29: パッケージとライブラリの違いは何ですか?2011-07-09時点のオリジナルからアーカイブ。 2020年 11月2日 閲覧 。 {{cite web }}: CS1 メンテナンス: 場所 (リンク )^ Wickham, Hadley; Bryan, Jennifer. 「Introduction」. R Packages (第2版). 2022年6月29日時点のオリジナルより アーカイブ。 2020年11月2日 閲覧 。 ^ 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日 閲覧 。 ^ Vance, Ashlee (2009年1月6日). 「Rのパワーに魅了されたデータアナリストたち」 . New York Times . 2021年5月2日時点のオリジナルより アーカイブ。 2020年11月2日 閲覧 。 ^ Tippmann, Sylvia (2014-12-29). 「プログラミングツール:Rとの冒険」 . Nature News . 517 (7532): 109– 110. doi : 10.1038/517109a . PMID 25557714 . ^ a b c Thieme, Nick (2018). 「R世代」 . 意義 . 15 (4): 14– 19. doi : 10.1111/j.1740-9713.2018.01169.x . ISSN 1740-9713 . ^ 「R拡張機能の作成」 . The Comprehensive R Archive Network . 2020年11月12日時点のオリジナルより アーカイブ。 2020年11月2日 閲覧 。 ^ 「CRANリポジトリポリシー」 . 包括的Rアーカイブネットワーク . 2020年11月5日時点のオリジナルより アーカイブ 。 2020年11月2日 閲覧。 ^ a b CRANリポジトリメンテナー。 「CRANリポジトリポリシー」 。 包括的Rアーカイブネットワーク 。Rプロジェクト。 2020年11月11日時点のオリジナルより アーカイブ。 2020年 11月20日 閲覧 。 ^ a b Hornik, Kurt (2020-02-20). 「Rに関するよくある質問」 . 包括的なRアーカイブネットワーク . 2.1: CRANとは?: Rプロジェクト. 2011年7月9日時点のオリジナルより アーカイブ。 2020年 11月20日 閲覧 。 {{cite web }}: CS1 メンテナンス: 場所 (リンク )^ CRANリポジトリメンテナー。 「包括的なRアーカイブネットワーク」 。Rプロジェクト。 2019年1月23日時点のオリジナルより アーカイブ。 2020年 11月20日 閲覧 。 ^ CRANリポジトリメンテナー。 「CRAN - 寄贈パッケージ」 。 包括的なRアーカイブネットワーク 。CRAN。 2020年11月24日時点のオリジナルより アーカイブ。 2020年 11月20日 閲覧 。 ^ Hornik, Kurt (1997-04-23). "ANNOUNCE: CRAN" . r-announce (メーリングリスト). 2021年3月8日時点のオリジナルより アーカイブ。 2020年 11月20日 閲覧 。 ^ Thieme, Nick (2018). 「R世代」 . 意義 . 15 (4): 14– 19. doi : 10.1111/j.1740-9713.2018.01169.x . ISSN 1740-9713 . ^ Fitzgerald, Brian (2016年2月9日). 「プログラミング言語パッケージシステムの概観」 . Some Things Are Obvious . 2020年11月9日時点のオリジナルより アーカイブ 。 2021年 5月4日 閲覧。 ^ 「CRAN Task Views」 . cran.r-project.org . 2011年7月9日時点のオリジナルより アーカイブ 。 2018年9月16日 閲覧。 ^ a b c “Metacran” . 2025年8月1日時点のオリジナルより アーカイブ 。 2025年 8月1日 閲覧。 ^ Asay, Matt (2016年4月21日). 「Rのオープンソースコミュニティの急激な成長は、商業競合企業を脅かす」 . TechRepublic . 2020年10月26日時点のオリジナルより アーカイブ。 2020年11月2日 閲覧 。 ^ 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日 閲覧 。 ^ 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 .^ 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 日 閲覧 。 ^ “Welcome to MRAN” . Microsoft R Application Network . Microsoft . 2021年5月4日時点のオリジナルより アーカイブ。 2021年 5月4日 閲覧 。 ^ 「再現性:固定されたCRANリポジトリスナップショットの使用」 。Microsoft R Application Network。Microsoft 。 2021年5月2 日 時点のオリジナルより アーカイブ 。 2021年 5月4日 閲覧 。 ^ Smith, David (2019年5月22日). 「MRANスナップショットとあなた」 . Revolutions . Revolution Analytics . 2021年5月4日時点のオリジナルより アーカイブ 。 2021年 5月4日 閲覧。 ^ 「Microsoft R アプリケーションネットワークの廃止」 . techcommunity.microsoft.com . 2023年11月15日 閲覧。 ^ Lopp, Sean (2020年12月7日). 「RStudio Package Manager 1.2.0 - Bioconductor & PyPI」 . RStudio Blog . RStudio . 2021年5月4日時点のオリジナルより アーカイブ。 2021年 5月4日 閲覧 。 ^ Lopp, Sean (2020年7月1日). 「Public Package Managerとv1.1.6の発表」 . RStudio Blog . RStudio . 2021年5月4日時点のオリジナルより アーカイブ。 2021年 5月4日 閲覧 。 ^ 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 . ^ “R-Forge: Welcome” . 2018年9月14日時点のオリジナルより アーカイブ 。 2018年9月16日 閲覧。 ^ 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 メンテナンス: 場所 (リンク )^ 「Rインフラストラクチャ」 R -universe . 2025年 8月1日 閲覧 。
さらに読む ウィッカム、ハドリー、ブライアン、ジェニファー(2023年7月25日)『Rパッケージ:コードの整理、テスト、ドキュメント化、共有』 (第2版)O'Reilly . ISBN 978-1098134945 。 Claes, M.; Mens, T.; Grosjean, P. (2014). 「CRANパッケージの保守性について」. 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE) . pp. 308– 312. doi : 10.1109/CSMR-WCRE.2014.6747183 . ISBN 978-1-4799-3752-3 . S2CID 17927576 . Decan, Alexandre; Mens, Tom; Claes, Maelick; Grosjean, Philippe (2015-09-07). 「Rパッケージの開発と配布について」 . 2015年ヨーロッパソフトウェアアーキテクチャ会議ワークショップ議事録 . ECSAW '15. ドゥブロヴニク、ツァヴタット、クロアチア:計算機協会. pp. 1– 6. doi : 10.1145/2797433.2797476 . ISBN 978-1-4503-3393-1 . S2CID 1680582 . フォックス、ジョン (2009). 「Rプロジェクトの社会組織と軌跡の側面」 . Rジャーナル . 1 (2): 5–13 . doi : 10.32614/RJ-2009-014 . ISSN 2073-4859 . Fox, John; Leanage, Allison (2016年9月12日). 「RとJournal of Statistical Software」 . Journal of Statistical Software . 73 (1): 1– 13. doi : 10.18637/jss.v073.i02 . ISSN 1548-7660 . Plakidas, Konstantinos; Schall, Daniel; Zdun, Uwe (2017). 「Rソフトウェアエコシステムの進化:メトリクス、関係性、そしてそれらが品質に与える影響」 . Journal of Systems and Software . 132 : 119–146 . doi : 10.1016/j.jss.2017.06.095 . ISSN 0164-1212 .
外部リンク