R(プログラミング言語)

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ

R
Rロゴ.svg
R terminal.jpg
R端子
パラダイムマルチパラダイム手続き型オブジェクト指向機能的反射的命令型配列[1]
によって設計されたロス・イハカロバート・ジェントルマン
デベロッパーRコアチーム
初登場1993年8月; 28年前 (1993-08
安定リリース
4.1.2 [2] / 2021年11月1日; 3ヶ月前 (2021年11月1日
規律の入力動的
ライセンスGNU GPL v2
ファイル名拡張子
Webサイトwww .r-project .org ウィキデータでこれを編集する
に影響を受けた
影響を受ける
ジュリア[5]

R、RコアチームとR Foundation for StatisticsComputingによってサポートされている統計計算とグラフィックスのプログラミング言語です。統計学者のロス・イハカロバート・ジェントルマンによって作成されたRは、データマイニングと統計学者の間で、データ分析と統計ソフトウェアの開発に使用されていますユーザーは、R言語の機能を強化するパッケージを作成しました。

Rexerの年次データマイナー調査や学術文献データベースの研究などの調査によると、Rはデータマイニングで使用される最も一般的に使用されるプログラミング言語の1つです。[6] [要出典] 2022年2月の時点で、Rはプログラミング言語の人気の尺度であるTIOBEインデックスで13位にランクされています。[7]

公式のRソフトウェア環境は、 GNUパッケージ内のオープンソースのフリーソフトウェア環境であり、 GNU General PublicLicenseの下で利用できますこれは主にCFortran、およびR自体(部分的にセルフホスティング)で記述されています。プリコンパイルされた実行可能ファイルは、さまざまなオペレーティングシステム用に提供されていますRにはコマンドラインインターフェイスがあります。統合開発環境あるRStudioやノートブックインターフェイスであるJupyterなど、複数のサードパーティのグラフィカルユーザーインターフェイスも利用できます。

歴史

Rは、Sプログラミング言語のオープンソース実装であり、 Schemeの字句スコープセマンティクスと組み合わせて、コード全体ではなく、事前に定義されたブロックでオブジェクトを定義できるようにします。[1] Sは、1976年頃にベル研究所のリックベッカー、ジョンチェンバース、ダグダン、ジャンマクレー、ジュディシリングによって作成されました。統計分析用に設計されたこの言語は、コンパイラなしでコードを直接実行できるインタプリタ言語です。[8] S用に書かれた多くのプログラムはRで変更されずに実行されます。[9] Lispの方言として言語、Schemeは1975年頃MITでジェラルドJ.サスマンガイL.スティールジュニアによって作成されました。 [10]

1991年、ニュージーランドのオークランド大学の統計学者ロスイハカとロバートジェントルマンがSの実装に着手しました。[11]一部は最初の2人のR作者の名にちなんで名付けられ、一部はSの名前の戯曲として名付けられました。[9]彼らは1993年8月にデータアーカイブStatLibとs-newsメーリングリストで公開し始めました。 [12] 1995年、統計学者のMartinMächlerは、IhakaとGentlemanに、RをGNU General PublicLicenseの下で無料のオープンソースソフトウェアにするよう説得しました。[12] [13] [14]最初の公式リリースは1995年6月に行われました。[12]最初の公式リリース「安定したベータ」バージョン(v1.0)は2000年2月29日にリリースされました。[15] [16]

Comprehensive R Archive Network(CRAN)は、1997年4月23日に正式に発表されました。CRANは、Rの実行可能ファイル、ソースコード、ドキュメント、およびユーザーが提供したパッケージを格納しますCRANには元々3つのミラーと12の寄稿パッケージがありました。[17] 2022年1月の時点で、101個のミラー[18]と18,728個の寄稿パッケージがあります。[19]

Rコアチームは、言語をさらに発展させるために1997年に結成されました。[9] 2022年1月の時点で、Chambers、Gentleman、Ihaka、Mächlerに加えて、統計学者のDouglas Bates、Peter DalgaardKurt Hornik、Michael Lawrence、Friedrich Leisch、Uwe Ligges、Thomas Lumley、Sebastian Meyer、Paul Murrell、Martynで構成されています。 Plummer、Brian Ripley、Deepayan Sarkar、Duncan Temple Lang、Luke Tierney、Simon Urbanek、およびコンピューター科学者のTomasKalibera。Stefano Iacus、Guido Masarotto、Heiner Schwarte、Seth Falcon、Martin Morgan、DuncanMurdochがメンバーでした。[20] 2003年4月、[21]R財団は、Rプロジェクトをさらに支援するための非営利団体として設立されました。[9]

機能

データ処理

Rのデータ構造には、ベクトル配列リスト、およびデータフレームが含まれます。[22]ベクトルは値の順序付けられたコレクションであり、列の主要な順序で1つ以上の次元の配列にマップできますつまり、次元の順序付けられたコレクションが与えられた場合、最初に最初の次元に沿って値を入力し、次に2番目の次元全体に1次元配列を入力します。[23] Rは配列演算をサポートしており、この点でAPLMATLABなどの言語に似ています。[22] [24] 2次元の配列の特殊なケースは、行列と呼ばれますリストは、必ずしも同じデータ型を持っているとは限らないオブジェクトのコレクションとして機能しますデータフレームには、同じ長さのベクトルのリストと、一意の行名のセットが含まれています。[22] Rにはスカラーデータ型はありません。[25]代わりに、スカラーは長さ1のベクトルとして表されます。[26]

Rとそのライブラリは、線形および非線形モデリング、古典的な統計検定空間および時系列分析、分類、クラスタリングなどを含むさまざまな統計手法を実装します。計算量の多いタスクの場合、CC ++、およびFortranコードをリンクして、実行時に呼び出すことができます。Rのもう1つの強みは、静的グラフィックスです。数学記号を含む出版品質のグラフを作成できます。[27]

プログラミング

Rはインタプリタ言語です; ユーザーは、コマンドラインインタープリターを介してアクセスできます。ユーザー2+2がRコマンドプロンプトで入力してEnterキーを押すと、コンピューターは4で応答します。

Rは、関数を使用した手続き型プログラミングをサポートし一部関数では、ジェネリック関数を使用したオブジェクト指向プログラミングをサポートします[28] Sの伝統により、Rはほとんどの統計計算言語よりも強力なオブジェクト指向プログラミング機能を備えています。[要出典] Schemeから派生した字句スコープ規則によって拡張が容易になります。[29] Rは、S式を使用してデータとコードの両方を表します。[要出典]Rの拡張可能なオブジェクトシステムには、(とりわけ)回帰モデル時系列、および地理空間座標のオブジェクトが含まれます。上級ユーザーは、C、C ++、[30] Java[31] .NET [32]、またはPythonコードを記述して、Rオブジェクトを直接操作できます。[33]

関数はファーストクラスのオブジェクトであり、データオブジェクトと同じように操作できるため、複数のディスパッチを可能にするメタプログラミングが容易になります。関数の引数は値によって渡され、遅延します。つまり、関数が呼び出されたときではなく、使用されたときにのみ評価されます。[34]ジェネリック関数は、渡される引数のクラスに応じて動作が異なります。つまり、ジェネリック関数は、そのオブジェクトのクラスに固有メソッド実装をディスパッチします。たとえば、Rには、ほぼすべてのクラスを出力できるジェネリック関数があります printRオブジェクトprint(objectname)の。[35] Rの標準関数の多くはRで記述されており、[要出典]により、ユーザーはアルゴリズムによる選択を簡単にたどることができます。Rは、特定の機能および特定のアプリケーション用のパッケージを使用することにより、高度に拡張可能です。

パッケージ

Rの機能は、統計手法、グラフィカルデバイス、インポート/エクスポート、レポート(RMarkdownknitrSweave )などを提供するユーザー作成の[36] パッケージによって拡張されます。Rのパッケージと、それらのインストールと使用の容易さが引用されています。データサイエンスにおける言語の広範な採用を推進するものとして[37] [38] [39] [40] [41]パッケージングシステムは、研究者が共有とアーカイブのための体系的な方法で研究データ、コード、レポートファイルを整理するための概要を作成するためにも使用されます。[42]

基本インストールには複数のパッケージが含まれています。追加のパッケージは、CRAN、[18] Bioconductor、Omegahat、[43] GitHub、およびその他のリポジトリで入手できます。[44] [45] [46]

CRAN Webサイトの「タスクビュー」[47]には、財務、遺伝学、ハイパフォーマンスコンピューティング、機械学習、医用画像、社会科学、空間統計などの分野のパッケージがリストされています。Rは、臨床研究からのデータを解釈するのに適しているとFDAによって特定されています。[48] Microsoftは、2014年9月17日までさかのぼるCRANの毎日のスナップショットを維持しています。[49]

他のRパッケージリソースには、Rパッケージの共同開発のためのプラットフォームであるR-Forge [50]が含まれます。Bioconductorプロジェクトは、 AffymetrixcDNA マイクロアレイ、および次世代のハイスループットシーケンス手法からのデータ用のオブジェクト指向データ処理および分析ツールを含む、ゲノムデータ分析用のパッケージを提供します。[51]

R言語の「方言」と見なすことができるTidyverseと呼ばれるパッケージのグループは、開発者の間でますます人気があります。[注1]データのインポート、クリーニング、変換、視覚化(特に、 ggplot2パッケージを使用)など、一般的なデータサイエンスタスクを処理するための機能のまとまりのあるコレクションを提供するよう努めています。動的でインタラクティブなグラフィックスは、追加のパッケージを通じて利用できます。[52]

Rは、 ScalaJavaPythonSQLとともに、 Apache SparkAPIを備えた5つの言語の1つです。[53] [54]

マイルストーン

Rリリースでの変更のリストは、CRANのさまざまな「ニュース」ファイルに保持されています。[55]いくつかのメジャーリリースについて、いくつかのハイライトを以下に示します。

リリース 日にち 説明
0.16 これは、主にIhakaとGentlemanによって開発された最後のアルファバージョンです。「ホワイトブック」(Sの歴史を参照)の基本的な機能の多くが実装されました。メーリングリストは1997年4月1日に開始されました。
0.49 1997-04-23 これは、現在CRANで利用可能な最も古いソースリリースです。[56] CRANはこの日に開始され、最初に12個のパッケージをホストしていた3つのミラーがあります。[57] MicrosoftWindows用のRのアルファ版クラシックMacOSは、このバージョンの直後に利用可能になります。[要出典]
0.60 1997-12-05 RはGNUプロジェクトの公式部分になりますコードはCVSでホストおよび保守されます。
0.65.1 1999-10-07 CRANからパッケージをダウンロードおよびインストールするためのupdate.packagesおよびinstall.packages関数の最初のバージョン。[58]
1.0 2000-02-29 開発者は、本番環境での使用に十分安定していると考えています。[59]
1.4 2001-12-19 S4メソッドが導入され、Mac OSXの最初のバージョンがすぐに利用可能になります。
1.8 2003-10-08 条件オブジェクトのシグナリングと処理のための柔軟な条件処理メカニズムが導入されました。
2.0 2004-10-04 遅延読み込みが導入されました。これにより、システムメモリの費用を最小限に抑えてデータを高速に読み込むことができます。
2.1 2005-04-18 UTF-8エンコーディングのサポート、およびさまざまな言語 の国際化とローカリゼーションの始まり。
2.6.2 2008-02-08 Windows 95、98、Me、およびNT4.0をサポートする最後のバージョン[60]
2.11 2010-04-22 Windows64ビットシステムのサポート。
2.12.2 2011-02-25 Windows2000をサポートする最後のバージョン[61]
2.13 2011-04-14 関数をバイトコードに変換することで関数を高速化できる新しいコンパイラ関数を追加します
2.14 2011-10-31 パッケージに必須の名前空間を追加しました。新しい並列パッケージを追加しました。
2.15 2012-03-30 新しい負荷分散機能。長いベクトルのシリアル化速度が向上しました。
3.0.0 2013-04-03 64ビットシステム での数値インデックス値231以上のサポート
3.3.3 2017-03-06 Microsoft WindowsXPをサポートする最後のバージョン。
3.4.0 2017-04-21 関数のジャストインタイムコンパイル(JIT)と、デフォルトで有効になっているバイトコードへのループ。
3.5.0 2018-04-23 パッケージはデフォルトでインストール時にバイトコンパイルされます。整数列のコンパクトな内部表現。コンパクトな内部表現をサポートするための新しいシリアル化形式が追加されました。
3.6.0 2019-04-26 離散一様分布からのサンプリングが改善されました。これは、大規模な母集団では著しく不均一でした。[62] 3.5.0以降でサポートされる新しいシリアル化形式がデフォルトになります。
4.0.0 2020-04-24 Rはデフォルトを使用するようになったstringsAsFactors = FALSEため、デフォルトでは、およびへの呼び出しで文字列をファクターに変換しなくなりましdata.frame()read.table()参照カウントは、オブジェクト共有の追跡に使用され、オブジェクトをコピーする必要性を減らします。生の文字列定数の新しい構文。
4.1.0 2021-05-18 |>ベースR構文のパイプ演算子(%>%magrittrパッケージの演算子と同様)および無名関数のショートカット構文として導入されました\(x) x+1

インターフェイス

さまざまなアプリケーションを使用して、Rコードを編集または実行できます。[63]

初期の開発者はコマンドラインコンソールを介してRを実行することを好み、[64] IDEを好む人は成功しました[65] R用のIDEには、(アルファベット順で)Rattle GUIR CommanderRKWardRStudio、およびTinn-Rが含まれます。[64] Rは、StatETプラグインを介したEclipse [66]VisualStudio用のRツールを介したVisualStudioなどの多目的IDEでもサポートされています[67]これらのうち、RStudioが最も一般的に使用されています。[65]

Rをサポートするエディターには、EmacsVim(Nvim-Rプラグイン)、[68] Kate[69] LyX[70] Notepad ++[71] Visual Studio CodeWinEdt[72]、Tinn-Rが含まれます。[73] Jupyter Notebookは、Rコードを編集して実行するように構成することもできます。[74]

R機能には、Python[75] Perl[76] Ruby[77] F#[78]Juliaなどのスクリプト言語からアクセスできます。[79] Java [80].NETC#[81] [82]などの他の高級プログラミング言語へのインターフェイスが利用可能です。

実装

メインのR実装は、R、C、およびFortranで記述されています。[83]速度の向上または拡張性の向上を目的とした他のいくつかの実装。密接に関連する実装は、Radford M. NealによるpqR(かなり速いR)であり、メモリ管理が改善され、自動マルチスレッドがサポートされています。RenjinとFastRは、 Java仮想マシンで使用するためのRのJava実装です。CXXR、rho、およびRiposte [84]は、 C ++でのRの実装ですRenjinRiposte、およびpqRは、複数のコアと遅延評価を使用してパフォーマンスを向上させようとします。[85]これらの代替実装のほとんどは実験的で不完全であり、R開発コアチームによって維持されているメインの実装と比較して、ユーザーは比較的少数です。

TIBCOは、 Spotfireの一部であるTERRと呼ばれるランタイムエンジンを構築しました[86]

Microsoft R Open(MRO)は、マルチスレッド計算用に変更された完全に互換性のあるRディストリビューションです。[87] [88] 2021年6月30日の時点で、MicrosoftはCRAN配布を支持してMROを段階的に廃止し始めました。[89]

コミュニティ

Rには、ユーザーがネットワークを構築し、アイデアを共有し、学ぶためのローカルコミュニティが世界中にあります。[90] [91]

会議( useR!、WhyR?、conectaR、SatRdaysなど)、[92] [93]交流会、[94]性別を促進するR-Ladiesグループ[95]など、Rイベントの数が増えています。多様性R Foundationタスクフォースは、女性やその他の過小評価グループに焦点を当てています。[96]

ユーザー!会議

Rユーザーの公式の年次集会は「useR!」と呼ばれます。[97]最初のそのようなイベントはuseRでした!2004年5月、オーストリア、ウィーン[98] 2005年をスキップした後、useR!会議は毎年開催されており、通常はヨーロッパと北米で交互に開催されます。[99]歴史:[97]

  • ユーザー!2006年、オーストリア、ウィーン
  • ユーザー!2007年、米国アイオワ州エイムズ
  • ユーザー!2008年、ドイツ、ドルトムント
  • ユーザー!2009年、フランス、レンヌ
  • ユーザー!2010年、米国メリーランド州ゲーサーズバーグ
  • ユーザー!2011年、コベントリー、イギリス
  • ユーザー!2012年、米国テネシー州ナッシュビル
  • ユーザー!2013年、スペイン、アルバセテ
  • ユーザー!2014年、米国カリフォルニア州ロサンゼルス
  • ユーザー!2015年、デンマーク、オールボー
  • ユーザー!2016年、米国カリフォルニア州スタンフォード
  • ユーザー!2017年、ベルギー、ブリュッセル
  • ユーザー!2018年、オーストラリア、ブリスベン
  • ユーザー!2019年、フランス、トゥールーズ
  • ユーザー!2020年、COVID-19パンデミックのためにオンラインで行われました
  • ユーザー!2021年、COVID-19パンデミックによりオンラインで発生

2021年11月現在、次のイベント開催日は未定です。[100]

Rジャーナル

R Journal、Rプロジェクトのオープンアクセス査読付きジャーナルです。パッケージ、プログラミングのヒント、CRANニュース、基礎ニュースなど、Rの使用と開発に関する短〜中程度の長さの記事を特集しています。

代替案との比較

Rは、 SASSPSSStataなどの一般的な商用統計パッケージに匹敵します1つの違いは、Rが無料のソフトウェアライセンスの下で無料で利用できることです。[101]

2009年1月、New York Timesは、Rの成長、データサイエンティストの間での人気の理由、およびSASなどの商用統計パッケージに対する脅威を示す記事を掲載しました。[102] 2017年6月、データサイエンティストのRobert Muenchenは、Rと他のソフトウェアパッケージのより詳細な比較「ThePopular of DataScienceSoftware」を公開しました。[103]

Rは、SASまたはSPSSよりも手続き型であり、どちらも言語環境に組み込まれ、各呼び出しのパラメーターによってカスタマイズされた事前にプログラムされたプロシージャ(「procs」と呼ばれる)を多用します。Rは通常、メモリ内のデータを処理するため、大きなファイルを処理する際の有用性が制限されます。[104]

商用サポート

Rはオープンソースプロジェクトですが、一部の企業は商用サポートと拡張機能を提供しています。

2007年、Richard Schultz、Martin Schultz、Steve Weston、Kirk Mettlerは、Revolution Analyticsを設立し、同社が開発したコンポーネントを含むRのディストリビューションであるRevolutionRの商用サポートを提供しました。主な追加コンポーネントには、ParallelR、R Productivity Environment IDE、RevoScaleR(ビッグデータ分析用)、RevoDeployR、Webサービスフレームワーク、およびSASファイル形式でデータを読み書きする機能が含まれます。[105] Revolution Analyticsは、確立されたIQ / OQ / PQ基準に準拠するように設計されたRディストリビューションを提供し、製薬業界のクライアントがREvolutionRのインストールを検証できるようにします。[106] 2015年、Microsoft CorporationRevolution Analytics [107]を買収し、Rプログラミング言語をSQL Server、Power BI、Azure SQLマネージドインスタンス、Azure Cortana Intelligence、Microsoft ML Server、およびVisual Studio2017に統合しました。[108]

2011年10月、オラクルは、R、 Apache HadoopOracle Linux、およびNoSQLデータベースをExadataハードウェアと統合するビッグデータアプライアンスを発表しました[109] 2012年の時点でOracle R Enterprise [110]は、「Oracle Advanced Analytics Option」[111]の2つのコンポーネントの1つになりました( Oracle Data Miningと並んで)。[要出典]

IBMは、RのHadoop内実行のサポートを提供し[112]、Rでの超並列データベース内分析のためのプログラミングモデルを提供します。[113]

TIBCOは、 Spotfireの一部としてランタイムバージョンRを提供します[114]

Mango Solutionsは、FDAなどの医薬品承認機関に準拠するためのR、ValidR、[115] [116]の検証パッケージを提供しています。これらの機関は、ベンダーまたはスポンサーによって証明されているように、検証済みのソフトウェアの使用を要求しました。[117]

基本構文

次の例は、言語の基本的な構文とコマンドラインインターフェイスの使用法を示しています。(標準言語機能の拡張リストは、Rマニュアル「AnIntroduction toR」にあります。[118]

Rでは、一般的に好まれる代入演算子は2文字からなる矢印ですが、<-場合=によっては使用できます。[119] [120]

> x  <  -1 6  #現在の環境で数値ベクトルを作成します
> y  <  -x ^ 2  #xの値に基づいてベクトルを作成します。
> print y  #ベクトルの内容を出力します。
[1] 1 4 9 16 25 36

> z  <  -x  +  y  #xとyの合計である新しいベクトルを作成します
> z  #zの内容を現在の環境に戻します。
[1] 2 6 12 20 30 42

> z_matrix  <  -matrix z  nrow = 3  #ベクトルzを3x2行列オブジェクトに変換する新しい行列を作成します
> z_matrix  
     [、1] [、2] 
[1、] 2 20 
[2、] 6 30 
[ 3、] 12 42

> 2 * t z_matrix -2  #行列を転置し、すべての要素に2を掛け、行列の各要素から2を引き、結果を端末に返します。
     [、1] [、2] [、3] 
[1、] 2 10 22 
[2、] 38 58 82

> new_df  <  -data.frame t z_matrix )、 row.names = c 'A' 'B' )) #行名が 'Aの転置されたz_matrixからのデータを含む新しいdata.frameオブジェクトを作成します'および' B ' 
> names new_df  <-  c ' X ' ' Y ' ' Z '  #new_dfの列名をX、Y、およびZとして設定します。
> print new_df   #現在の値を出力します結果。
   XYZ 
A 2 6 12
B 20 30 42

> new_df $ Z  #Z列を出力します
[1] 12 42

> new_df $ Z == new_df [ 'Z' ]  &&  new_df [ 3 ] == new_df $ Z  #data.frame列Zには、$ Z、['Z']、または[3]構文を使用してアクセスできます。値は同じです。
[1] TRUE

> attributes new_df  #new_dfオブジェクトに関する属性情報を出力します
$ names 
[1] "X" "Y" "Z"

$ row.names 
[1] "A" "B"

$ class 
[1] "data.frame"

>属性new_df $ row.names  <  -c 'one' 'two'  #row.names属性にアクセスして変更します。
rownames() > new_df 
     XYZ 
one 2 6 12 
two 20 3042を使用して実行することもできます

関数の構造

Rの強みの1つは、新しい関数を簡単に作成できることです。関数本体のオブジェクトは関数に対してローカルのままであり、任意のデータ型が返される可能性があります。[121]例:

#関数「f」をパラメータ「x」、「y」で宣言します。
#xとyの線形結合を返します。
f  <  -function x  y  { 
  z  <  -3  *  x  +  4  *  y 
  return z  ## return()関数はここではオプションです
}
> f 1、2 ) [  1 ] 
11

> f c 1、2、3 c 5、3、4 [ 1 ] 23 18 25 _ 


> f 1 3、4 ) [  1 ] 
19 22 25

モデリングとプロット

R言語には、データモデリングとグラフィックスのサポートが組み込まれています。次の例は、Rが残差のある線形モデルを簡単に生成してプロットする方法を示しています。

「モデル」のプロットからの診断プロット(qv「plot.lm()」関数)。ラベルで許可されている数学表記に注意してください(左下のプロット)。
> x  <  -1 6  #xとyの値を作成
> y  <  -x ^ 2   
>モデル <  -lm y〜x ) #線形回帰モデルy = A + B * x > summary model #モデルの詳細な要約を表示します。    
  

呼び出し:
lm(式= y〜x)

残差:
      1 2 3 4 5 6 
3.3333 -0.6667 -2.6667 -2.6667 -0.6667 3.3333

係数:
            推定標準 エラーt値Pr(> | t |)    
(切片)-9.3333 2.8441 -3.282 0.030453 * 
x 7.0000 0.7303 9.585 0.000662 *** 
---
有意。コード:0 '***' 0.001 '**' 0.01 '*' 0.05 '。' 0.1 '' 1

残差標準誤差:4自由度で
3.055複数の決定係数:0.9583、調整済み決定係数:0.9478 
F統計量:1および4 DFで91.88、p値:0.000662

> par mfrow  =  c 2、2 ))#図の2 x2のレイアウトを作成します > plot model #モデルの診断プロットを出力します。  
  

マンデルブロ集合

方程式z = z 2 + cの最初の20回の反復で設定されたマンデルブロを計算する短いRコードは、さまざまな複素定数cに対してプロットされます。この例は、次のことを示しています。

「Mandelbrot.gif」–例2の14行のコードでRで作成されたグラフィック
  • コミュニティで開発された外部ライブラリ(パッケージと呼ばれる)、この場合はcaToolsパッケージの使用
  • 複素数の処理
  • 基本データ型として使用される数値の多次元配列。変数CZおよびを参照してくださいX
install.packages "caTools" ) #外部パッケージ  ライブラリのインストール
caTools #write.gif関数を提供する外部パッケージjet.colors < -colorRampPalette c "red" "blue" "#007FFF" "cyan" "#7FFF7F" "yellow" "#FF7F00" "red" "#7F0000" ))dx < -1500 #幅dy <を定義-1400 #高さを定義C <-             
      
                                    
                      
                      
   複素数実数 =  rep seq -2.2、1.0  length.out = dx )、each  =  dy imag = rep seq -1.2、1.2 length.out = dy dx C < -行列C dy dx #複素数の正方行列として再形成Z < -0 #Zをゼロに初期化    
                     
           
                         
X  <  -array 0  c dy  dx  20 )) #出力3D配列を初期化
for k  in  1:20 { # 20回の反復ループZ < -Z ^ 2 + C #中央の差分方程式X [ 、、k ] < -exp -abs Z ))#結果をキャプチャする} write.gif X              
                     
         

 "Mandelbrot.gif"  col  =  jet.colors  delay  =  100 

も参照してください

メモ

  1. ^ 2020年6月13日の時点で、 MetacranはTidyverseの8つのコアパッケージのうち7つをほとんどのダウンロードRパッケージのリストにリストしました。

参考文献

  1. ^ a b モランダット、フランシス; ヒル、ブランドン; オズヴァルド、レオ; Vitek、1月(2012年6月11日)。「R言語の設計の評価:データ分析のためのオブジェクトと関数」オブジェクト指向プログラミングに関するヨーロッパ会議2012:104–131。土井10.1007 / 978-3-642-31057-7_6 2016年5月17日取得–SpringerLink経由。
  2. ^ Peter Dalgaard(2021年11月1日)。「R4.1.2がリリースされました」2021年11月1日取得
  3. ^ 「Rスクリプト」mercury.webster.edu 2021年7月17日取得
  4. ^ 「Rデータフォーマットファミリ(.rdata、.rda)」Loc.gov2017年6月9日2021年7月17日取得
  5. ^ 「はじめに」ジュリアマニュアル2018年6月20日にオリジナルからアーカイブされました2018年8月5日取得
  6. ^ Rの人気
  7. ^ 「TIOBEインデックス-ソフトウェア品質会社」TIOBE 2021年8月16日取得{{cite web}}: CS1 maint: url-status (link)
  8. ^ Becker、Richard A.、A Brief History of SCiteSeerX 10.1.1.131.1428 、 2022年1月12日取得 
  9. ^ a b cd カートホーニックR FAQ:なぜRなのか?ISBN 3-900051-08-92008年1月29日取得
  10. ^ サスマン、ジェラルドジェイ; スティール、ガイL.(1998年12月1日)。「スキームに関する最初の報告の再検討」高次および記号計算11(4):399–404。土井10.1023 / A:1010079421970ISSN1573-0557_ S2CID7704398_  
  11. ^ 「ロックスターのステータスに魅了されていないアカデミック」NZヘラルド2021年12月30日取得
  12. ^ a b c イハカ、ロス(1998)。R:過去と未来の歴史(PDF)(テクニカルレポート)。Interface '98:ニュージーランド、オークランドのオークランド大学統計学部。 {{cite techreport}}: CS1 maint: location (link)
  13. ^ 「Rライセンス」r-プロジェクト2018年8月5日取得
  14. ^ GNUプロジェクト
    • 「GNUR」フリーソフトウェアファウンデーション(FSF)のフリーソフトウェアディレクトリ。2018年4月23日2018年8月7日取得
    • Rプロジェクト(nd)。「Rとは?」2018年8月7日取得
  15. ^ 「Rプロジェクトの16年以上の歴史」革命2016年5月30日取得
  16. ^ イハカ、ロス。「Rプロジェクト:簡単な歴史と未来についての考え」(PDF)stat.auckland.ac.nz
  17. ^ Kurt Hornik(1997年4月23日)。「アナウンス:CRAN」r-helpウィキデータQ101068595 
  18. ^ a b "CRAN-ミラー"cran.r-project.org 2022年1月15日取得
  19. ^ 「CRAN-寄稿パッケージ」cran.r-project.org 2022年1月3日取得
  20. ^ 「R:貢献者」Rプロジェクト2021年7月14日取得
  21. ^ Mächler、Martin; ホーニック、カート(2014年12月)。「R財団ニュース」(PDF)Rジャーナル2021年12月30日取得 {{cite web}}: CS1 maint: url-status (link)
  22. ^ a b c Dalgaard、Peter(2002)。Rを使用した入門統計ニューヨーク、ベルリン、ハイデルベルク:Springer-Verlag。pp。10–18、34。ISBN  _ _ _  0387954759
  23. ^ Rの紹介、セクション5.1:配列。2010-03年にhttps://cran.r-project.org/doc/manuals/R-intro.html#Arraysから取得
  24. ^ 陳、漢風; ワイミー、チン; Da、Zheng。「MATLABとAPLの実行パフォーマンスに関する比較研究」(PDF)マギル大学2022年2月16日取得
  25. ^ イハカ、ロス; Gentlman、Robert(1996年9月)。「R:データ分析とグラフィックスのための言語」(PDF)Journal of Computational and GraphicalStatisticsアメリカ統計学会。5(3):299–314。土井10.2307 / 1390807JSTOR1390807 _ 2014年5月12日取得  
  26. ^ 「データ構造・高度なR」adv-r.had.co.nz 2016年9月26日取得
  27. ^ 「R:Rとは何ですか?」R-project.org 2022年2月17日取得
  28. ^ ホワイト、ホーマー。14.1プログラミングパラダイム| Rでコンピュータサイエンスを始める
  29. ^ ジャックマン、サイモン(2003年春)。「R政治的方法論者のために」(PDF)政治方法論者アメリカ政治学協会の政治方法論セクション11(1):20–22。2006年7月21日にオリジナル(PDF)からアーカイブされました2018年9月13日取得
  30. ^ Eddelbuettel、Dirk; フランソワ、ロマン(2011)。「Rcpp:シームレスなRとC ++の統合」統計ソフトウェアジャーナル40(8)。土井10.18637 /jss.v040.i08
  31. ^ "nution-j2r:Rネイティブ関数を呼び出すJavaライブラリ" 2018年9月13日取得
  32. ^ .NETフレームワーク
  33. ^ Rマニュアル。「R拡張機能の記述」r-project.org 2018年9月13日取得
  34. ^ 「機能・高度なR。」adv-r.had.co.nz
  35. ^ Rコアチーム。「値の印刷」Rドキュメント統計計算のためのR財団2016年5月30日取得
  36. ^ ハドリー、ウィッカム; ブライアン、ジェニー。「Rパッケージ:コードの整理、テスト、文書化、および共有」 {{cite journal}}: Cite journal requires |journal= (help)
  37. ^ チェンバーズ、ジョンM.(2020)。「S、R、およびデータサイエンス」Rジャーナル12(1):462–476。土井10.32614 / RJ-2020-028ISSN2073-4859_ 
  38. ^ ヴァンス、アシュリー(2009年1月6日)。「Rの力に魅了されたデータアナリスト」ニューヨークタイムズ
  39. ^ ティップマン、シルビア(2014年12月29日)。「プログラミングツール:Rの冒険」ネイチャーニュース517(7532):109–110。土井10.1038 / 517109aPMID25557714_ 
  40. ^ Thieme、ニック(2018)。「R世代」重要性15(4):14–19。土井10.1111 /j.1740-9713.2018.01169.xISSN1740-9713_ 
  41. ^ 広く使用されています
  42. ^ マーウィック、ベン; Boettiger、Carl; リンカーン、マレン(2017年8月26日)。「R(およびその仲間)を使用して再現性のあるデータ分析作業をパッケージ化する」PeerJプレプリント土井10.7287 /peerj.preprints.3192v1ISSN2167-9843_ 
  43. ^ 「Omegahat.net」Omegahat.net 2018年9月16日取得
  44. ^ リポジトリから入手可能なパッケージ
  45. ^ ウィッカム、ハドリー; ブライアン、ジェニファー。第10章オブジェクトのドキュメント| Rパッケージ
  46. ^ 「Rdフォーマット」cran.r-project.org 2021年8月16日取得
  47. ^ 「CRANタスクビュー」cran.r-project.org 2018年9月16日取得
  48. ^ 「FDA:薬の治験はOK」2018年9月16日取得
  49. ^ 「CRANタイムマシン。MRAN」2019年12月26日取得
  50. ^ 「R-Forge:ようこそ」2018年9月16日取得
  51. ^ フーバー、W; キャリー、VJ; 紳士、R; アンダース、S; カールソン、M; カルヴァリョ、BS; ブラボー、HC; デイビス、S; ガット、L; ギルケ、T; ゴッタルド、R; ハーネ、F; ハンセン、KD; Irizarry、RA; ローレンス、M; 愛、MI; マクドナルド、J; Obenchain、V; Oleś、AK; パジェス、H; レイエス、A; シャノン、P; スミス、GK; テネンバウム、D; Waldron、L; モーガン、M(2015)。「Bioconductorによるハイスループットゲノム解析のオーケストレーション」ネイチャーメソッズネイチャーパブリッシンググループ12(2):115–121。土井10.1038 /nmeth.3252PMC4509590_ PMID25633503_  
  52. ^ Lewin-Koh、ニコラス(2015年1月7日)。「CRANタスクビュー:グラフィックディスプレイとダイナミックグラフィックスとグラフィックデバイスと視覚化」包括的なRアーカイブネットワーク。2016年9月26日にオリジナルからアーカイブされました2018年9月13日取得 {{cite journal}}: Cite journal requires |journal= (help)
  53. ^ 「SparkAPIドキュメント」スパーク
  54. ^ 「SparkR(R on Spark)」スパーク
  55. ^ バージョン3.0.0以降の変更点:「Rニュース」cran.r-project.org 2014年7月3日取得 以前の変更ログ(メジャーリリース番号別):
  56. ^ "/ src / base / R-0"のインデックスcran.r-project.org
  57. ^ 「発表:CRAN」stat.ethz.ch。 _
  58. ^ "0.99シリーズニュース:Rバージョン0.99.0の変更"Cran.r-project.org 2022年2月18日取得
  59. ^ ピーターダルガード。「R-1.0.0がリリースされました」Stat.ethz.ch。_ 2009年6月6日取得
  60. ^ 「Rバージョン2.7.0の変更」Cran-archive.r-project.org 2022年2月18日取得
  61. ^ 「RFAQ」Cran.r-project.org 2020年3月20日取得
  62. ^ オットボニ、ケリー; スターク、フィリップB.(2018)。「Rのランダムな問題」。arXiv1809.06520 [ cs.MS ]。
  63. ^ 「R用のWindowsテキストエディタの推奨事項(StackOverflow)」Stackoverflow.com 2020年12月20日取得
  64. ^ a b "Poll:頻繁に使用するR GUI(2011)"kdnuggets.com 2018年9月18日取得
  65. ^ a b "Rプログラミング-2020年のインフォグラフィックにおける開発者エコシステムの状態"JetBrains:プロフェッショナルおよびチーム向けの開発者ツール2021年8月16日取得
  66. ^ StephanWahlbrink。「StatETforR」
  67. ^ 「VisualStudioでRを操作する」2020年12月14日取得
  68. ^ 「Nvim-R-Rで動作するプラグイン:vimonline」Vim.org 2019年3月6日取得
  69. ^ 「構文の強調表示」ケイト開発チーム。2008年7月7日にオリジナルからアーカイブされました2008年7月9日取得
  70. ^ ポール・E・ジョンソン&グレガー・ゴリャンク。「LyXwithRthroughSweave」2017年4月4日取得
  71. ^ "NppToR:Notepad ++のR"sourceforge.net。2013年5月8日2013年9月18日取得
  72. ^ Uwe Ligges(2017年1月5日)。"RWinEdt: 'WinEdt'へのRインターフェイス" 。 2017年4月4日取得
  73. ^ 「Tinn-R」2019年3月5日取得
  74. ^ 「JupyterNotebookでのRプログラミング言語の使用」アナコンダ2020年9月14日取得
  75. ^ ゴーティエ、ローラン。"rpy2-PythonのR" 2021年11月30日取得{{cite web}}: CS1 maint: url-status (link)
  76. ^ フローレント怒っています。"Statistics :: R-R統計プログラムとのPerlインターフェース"Metacpan.org
  77. ^ Alex Gutteridge(2021年7月15日)。"GitHub-alexgutteridge / rsruby:Ruby-Rブリッジ"Github.com
  78. ^ BlueMountainCapital。「F#Rタイププロバイダー」
  79. ^ "JuliaInterop /RCall.jl"Github.com2021年6月2日。
  80. ^ 「Rserve-バイナリRサーバー-RForge.net」Rforge.net
  81. ^ "konne / RserveCLI2"Github.com2021年3月8日。
  82. ^ 「R.NET」Jmp75.github.io 2022年2月18日取得
  83. ^ "r-source:GitHub上のRソースコードの読み取り専用ミラー"GitHub 2019年9月14日取得
  84. ^ タルボット、ジャスティン; DeVito、Zachary; ハンラハン、パット(2012年1月1日)。「Riposte:Rのベクトルコード用のトレース駆動型コンパイラと並列VM」。並列アーキテクチャとコンパイル技術に関する第21回国際会議の議事録ACM:43–52。土井10.1145 /2370816.2370825S2CID1989369_ 
  85. ^ ニール、ラドフォード(2013年7月25日)。「Renjin、Riposte、およびpqRでの延期された評価」ラドフォードニールのブログ2017年3月6日取得
  86. ^ ジャクソン、ヨアブ(2013年5月16日)。TIBCOは企業に無料のRを提供しますPCワールド2015年7月20日取得。
  87. ^ 「家」mran.microsoft.com 2021年11月22日取得
  88. ^ 「MicrosoftROpen:拡張Rディストリビューション」2018年6月30日取得
  89. ^ 「AzureSQLおよびSQLServerでのRの将来を見据えて」2021年6月30日2021年11月7日取得
  90. ^ 「ローカルRユーザーグループディレクトリ」革命ブログ2018年5月12日取得
  91. ^ Rの会議および会議のリストジャンピングリバーズ2018年5月12日取得
  92. ^ 「WhyR?会議の公式ウェブサイト」なぜR?2019年6月26日取得
  93. ^ 「SatRdaysリスト」SatRdays 2019年6月26日取得
  94. ^ 「統計計算のためのRプロジェクト」Meetup 2018年5月12日取得
  95. ^ 「Rレディース」Rレディース2018年5月12日取得
  96. ^ 「転送」2020年3月23日取得
  97. ^ a b "R:会議"r-project.org2019年11月1日2019年11月19日取得
  98. ^ 「useR!2004-Rユーザー会議」2004年5月27日2018年9月9日取得
  99. ^ Rプロジェクト(2013年8月9日)。「R関連の会議」2019年8月15日取得
  100. ^ 「R:会議」R-project.org
  101. ^ バーンズ、パトリック(2007年2月27日)。「RとSAS、Stata、SPSSの比較」(PDF)2013年9月18日取得
  102. ^ 商用統計パッケージの競争としてのR
  103. ^ ミュンヘン、ロバート(2017年6月19日)。「データサイエンスソフトウェアの人気」2018年11月21日取得
  104. ^ 「R対SPSS」
  105. ^ モーガン、ティモシー・プリケット(2011-02-07)。「 『Red Hat for stats』はSASと完全に一致します」。The Register、2011年2月7日。https: //www.theregister.co.uk/2011/02/07/revolution_r_sas_challenge/から取得。
  106. ^ 「RによるFDA提出のための臨床試験データの分析」革命分析。2009年1月14日2018年9月20日取得
  107. ^ シロッシュ、ジョセフ。「MicrosoftはRevolutionAnalyticsの買収を終了します」blogs.technet.comMicrosoft 2018年9月20日取得
  108. ^ 「VisualStudio用のRツールの紹介」2018年9月20日取得
  109. ^ OracleCorporationのビッグデータアプライアンス
  110. ^ Chris Kanaracus(2012); Oracle Stakes Claim in R With Advanced Analytics Launch、PC World、2012年2月8日。
  111. ^ Doug Henschen(2012); Oracle Stakes Claim in R With Advanced Analytics Launch、InformationWeek、2012年4月4日。
  112. ^ 「IBMInfoSphereBigInsightsv2.1.2の新機能」IBM。2014年9月6日にオリジナルからアーカイブされました2014年5月8日取得
  113. ^ 「分析のためのIBMPureDataシステム」(PDF)IBM。2014年5月17日にオリジナル(PDF)からアーカイブされました2014年5月8日取得
  114. ^ Tibco。「RfortheEnterpriseの敏捷性を解き放ちます」2014年5月15日取得
  115. ^ 「マンゴーのウェブサイトのValidR」2018年9月24日取得
  116. ^ MangoSolutionsのAndyNicholls。「ValidREnterprise:R検証フレームワークの開発」(PDF)2018年9月24日取得
  117. ^ FDA。「統計的ソフトウェア明確化ステートメント」(PDF)食品医薬品局2018年9月24日取得
  118. ^ 「Rの紹介。Rに関する注記:データ分析とグラフィックスのためのプログラミング環境」(PDF)2021年1月3日取得
  119. ^ R開発コアチーム。「=演算子を使用した割り当て」2018年9月11日取得
  120. ^ Rで最もよく使われる代入演算子は<-
  121. ^ カバコフ、ロバート(2012)。「Quick-R:ユーザー定義関数」statmethods.net 2018年9月28日取得

外部リンク