R 言語の Wiki。 R プログラミング言語と統計プログラムにおけるその位置

R のプログラミング レベル 1. 基本

R 言語は、統計データ分析用の世界で最も人気のあるツールです。 データ分析、視覚化、ドキュメントや Web アプリケーションの作成のための最も幅広い可能性が含まれています。 経験豊富なメンターの指導の下、この強力な言語をマスターしてみませんか? あなたをコースにご招待します 「R言語プログラミング レベル1 基礎知識」.

このコースは、大量のデータからパターンを見つけて視覚化し、統計的に正しい結論を導き出す必要がある幅広い専門家(社会学者、臨床試験管理者/薬理学者、研究者(天文学、物理学、生物学、遺伝学、医学)など)を対象としています。 、など)、IT アナリスト、ビジネス アナリスト、財務アナリスト、マーケティング担当者。 このコースは、機能が適さない(または有料)スペシャリストにもアピールします。

教室では、環境におけるデータ分析と視覚化の基本的なスキルを習得します。 R。 ほとんどの時間は実践的なタスクと実際のデータセットの操作に費やされます。 データを操作するためのすべての新しいツールを学習し、それらを仕事に適用する方法を学びます。

コース終了後、センターの高度なトレーニングの証明書が発行されます。

このサイトの例や記事の多くでは、「R」プログラミング言語が広範囲に使用されています。

R for Linux は通常、ディストリビューションのリポジトリを使用してインストールできます。 私は Debian ベースのディストリビューションを使用しています。R をインストールする標準コマンドは次のとおりです。

sudo apt install rベース

これをターミナルに入力する必要があります。

R の利点は次のとおりです。

  1. このプログラムは無料です (GPL ライセンスに基づいて配布されます)。
  2. 幅広いタスクを解決するために、このプログラム用に多くのパッケージが作成されています。 それらもすべて無料です。
  3. このプログラムは非常に柔軟です。ベクトルと行列のサイズはユーザーの要求に応じて変更でき、データは厳密な構造を持ちません。 この特性は、研究者が任意の期間の予測を行う必要がある予測の場合に非常に役立ちます。

他の統計パッケージ (SPSS、Eviews、Stata など) は、固定構造を持つデータの分析のみに関心がある可能性があることを示唆しているため、後者のプロパティは特に関連性があります (たとえば、作業ファイル内のすべてのデータは同じでなければなりません)。開始と終了が同じ周波数)。

ただし、R は最もフレンドリーなプログラムではありません。 作業中はマウスのことは忘れてください。最も重要なアクションのほぼすべてはコマンド ラインを使用して実行されます。 ただし、作業を少し楽にし、プログラム自体をもう少し使いやすくするために、RStudio と呼ばれるフロントエンド プログラム (外部インターフェイス) があります。 ここからダウンロードできます。 RStudio は R 自体がインストールされた後にインストールされます。RStudio には多くの便利なツールと優れたインターフェイスがありますが、RStudio での分析と予測は依然としてコマンド ラインを使用して実行されます。

この素晴らしいプログラムを見てみましょう。

RStudio の概要

RStudio インターフェイスは次のようになります。

RStudio の右上隅に、プロジェクトの名前が表示されます (これまでのところ「なし」になっています。つまり、プロジェクトがありません)。 この碑文をクリックして「New Project」(新しいプロジェクト)を選択すると、プロジェクトを作成するように求められます。 基本的な予測の目的では、[新しいディレクトリ] (プロジェクトの新しいフォルダー)、[空のプロジェクト] (空のプロジェクト) を選択し、プロジェクトの名前を入力して、プロジェクトを保存するディレクトリを選択するだけで十分です。 。 想像力を働かせて、自分で名前を考えてみてください:)。

1 つのプロジェクトを操作すると、そこに保存されているデータ、コマンド、スクリプトにいつでもアクセスできます。

コンソールは RStudio ウィンドウの左側にあります。 その中で、さまざまなコマンドを入力します。 たとえば、次のように書いてみましょう。

このコマンドは、平均値と単位分散がゼロの正規分布から 100 個の確率変数を生成し、「x」という名前のベクトルを作成し、結果の 100 個の変数をそのベクトルに書き込みます。 記号「<-» эквивалентен символу «=» и показывает какое значение присвоить нашей переменной, стоящей слева. Иногда вместо него удобней использовать символ «->ただし、この場合の変数は右側にあるはずです。 たとえば、次のコードは、オブジェクト「x」とまったく同じオブジェクト「y」を作成します。

これらのベクトルは、画面右上の「環境」というラベルを付けたタブの下に表示されます。

「環境」タブの変更点

画面のこの部分には、セッション中に保存したすべてのオブジェクトが表示されます。 たとえば、次のような行列を作成するとします。

\(A = \begin(pmatrix) 1 & 1 \\ 0 & 1 \end(pmatrix) \)

これはコマンドです:

すると、「環境」タブに表示されます。

使用する関数では、特定のパラメーターにいくつかの値を与える必要があります。 matrix() 関数には次のパラメータがあります。

  • data は行列に書き込まれるデータを含むベクトルです。
  • nrow は行列の行数です。
  • ncol は行列の列数です。
  • byrow はブール値パラメータです。 「TRUE」(真) の場合、行列の充填は行ごとに (左から右へ、行ごとに) 実行されます。 デフォルトでは、このパラメータは「FALSE」(偽)に設定されています。
  • dimnames - 行名と列名を含むシート。

これらのオプションにはデフォルト値を持つもの (たとえば、 byrow=FALSE ) もあれば、省略できるものもあります (たとえば、 dimnames )。

「R」のトリックの 1 つは、値を直接設定することで任意の関数 (たとえば、行列() など) にアクセスできることです。

または、以前に行った方法で、シーケンスに従ってパラメータの名前を省略して行うこともできます。

[環境] タブにあるオブジェクトの内容を確認するには、コンソールにその名前を入力するだけです。

別のオプションは、[環境] タブでオブジェクトの名前をクリックすることです。

ここで、行列は対象となる関数の名前です。 この場合、RStudio は次の説明を含むヘルプ パネルを開きます。

[ヘルプ] タブの [検索] ウィンドウ (レンズが付いたアイコン) に関数の名前を入力して、関数のヘルプを見つけることもできます。

関数の名前の書き方や関数が使用するパラメーターを正確に覚えていない場合は、コンソールに名前を書き始めて「Tab」ボタンを押してください。

これらすべてに加えて、RStudio でスクリプトを作成できます。 プログラムを作成したり、一連の関数を呼び出したりする必要がある場合に、これらが必要になることがあります。 スクリプトは、左上隅にあるプラス記号の付いたボタンを使用して作成します (ドロップダウン メニューで [R スクリプト] を選択します)。 その後に開いたウィンドウで、任意の関数やコメントを書くことができます。 たとえば、x 系列にわたって折れ線グラフをプロットしたい場合は、次のように行うことができます。

プロット(x)線(x)

最初の関数は単純な散布図を作成し、2 番目の関数は点を直列に接続する点の上に線を追加します。 これら 2 つのコマンドを選択して Ctrl+Enter を押すとそれらが実行され、RStudio は右下隅に [プロット] タブを開き、そこにプロットを表示します。

今後もすべてのコマンドを入力する必要がある場合は、このスクリプトを保存できます (左上隅のフロッピー ディスク)。

過去に入力したコマンドを参照する必要がある場合は、画面右上に「履歴」タブがあります。 その中で、興味のあるコマンドを見つけて選択し、ダブルクリックしてコンソールに挿入できます。 コンソール自体では、キーボードの「Up」(上)ボタンと「Down」(下)ボタンを使用して前のコマンドにアクセスできます。 キーボード ショートカット「Ctrl+Up」を使用すると、最近のすべてのコマンドのリストをコンソールに表示できます。

一般に、RStudio には、プログラムの操作を容易にする便利なキーボード ショートカットが多数あります。 詳細についてはこちらをご覧ください。

先ほども述べたように、R には多数のパッケージがあります。 これらはすべて CRAN サーバー上にあり、インストールするにはその名前を知っている必要があります。 パッケージのインストールと更新は、「パッケージ」タブを使用して実行します。 そこにアクセスして「インストール」ボタンをクリックすると、次のようなメニューが表示されます。

開いたウィンドウに入力してみましょう。forecast は、Rob J. Hyndman によって書かれたパッケージで、便利な機能が多数含まれています。 「インストール」ボタンをクリックすると、「forecast」パッケージがインストールされます。

あるいは、コンソールで次のコマンドを使用して、名前がわかっているパッケージをインストールすることもできます。

Install.packages("smooth")

もちろん、それが CRAN リポジトリ内にあることが前提です。 smooth は私が開発および保守する機能を備えたパッケージです。

一部のパッケージは、github.com などのサイトでソースとしてのみ入手できるため、最初にビルドする必要があります。 Windows でパッケージをビルドするには、Rtools プログラムが必要になる場合があります。

インストールされているパッケージを使用するには、それを有効にする必要があります。 これを行うには、リストでそれを見つけてチェックを入れるか、コンソールでコマンドを使用する必要があります。

図書館(予想)

Windows では、厄介な問題が 1 つ現れることがあります。それは、一部のパッケージはダウンロードしてビルドするのが簡単ですが、どのパッケージにもインストールされないということです。 この場合、R は「警告: 一時インストールを移動できません...」のような内容を書き込みます。 この場合に行う必要があるのは、R を含むフォルダーをウイルス対策プログラムの例外に追加することだけです (または、パッケージのインストール中に例外をオフにする)。

パッケージをダウンロードすると、パッケージに含まれるすべての機能が利用できるようになります。 たとえば、 tsdisplay() 関数は次のように使用できます。

Tsdisplay(x)

彼女は私たちのために 3 つのグラフを生成します。これについては、「予測者のツールキット」の章で説明します。

私は、forecast パッケージに加えて、さまざまな例で Mcomp パッケージをよく使用します。 これには、M-Competition データベースからの一連のデータが含まれています。 したがって、あなたもインストールすることをお勧めします。

多くの場合、データ セットだけでなく、「ts」クラス (時系列) のデータが必要になります。 任意の変数から時系列を作成するには、次のコマンドを実行する必要があります。

ここで、start パラメーターを使用すると、時系列の開始日を指定でき、frequency はデータの頻度を指定します。 この例の数値 12 は、月次データを扱っていることを示しています。 このコマンドを実行した結果、ベクトル「x」が 1984 年 1 月から始まる月次データの時系列に変換されます。

これらは、必要となる R と RStudio の基本要素です。

追伸 R のかなり優れたガイドが、Pavel Polishchuk によって QSAR4U Web サイトで公開されています。

P.P.P.S. R に関する多くの情報が公式 Web サイトに掲載されています。

独立した仕事

R で自分で実行するタスクは次のとおりです。次のコマンドを実行して、何が起こるかを確認し、なぜそれが起こったのかを理解してください。

(41/3 + 78/4)*2 2^3+4 1/0 0/0 max(1,min(-2.5),max(2,pi)) sqrt(3^2+4^2 ) exp (2)+3i log(1024) log(1024、base=2) c(1:3) c(1:5)*2 + 4 x

]。 「精神労働のプロレタリア」。 教育を受けた物理学者。 私は 30 年以上、医療および生物学的情報処理の分野で働いてきました。
私は 15 年間 Matlab と緊密に協力してきた後に R に移行してから、ちょうど 10 年間 R で働いてきました。 私が別の作業プラットフォームに移行した根本的な原因は、私自身が地球の反対側であるニュージーランドのオークランドに物理的に移住したことでした。 ここで、最初の日から人生は私をRの腕の中に押し込みました、そして私はまだ後悔する必要はありません。

専門的な ru.net で R への関心が急速に高まっているのを目にします。 さて、彼に関する記事はこの尊敬されるリソースに掲載されています。 さらに詳しく説明すると、ロシア語で R を紹介するという私の最初の試みは、3 年前にイオバ州立大学動物科学部の同僚に向けて行ったプレゼンテーションの最初の (口頭での) 部分です。
(側に:しかし、自分で翻訳するのは難しいことがわかりました...)


この投稿では

  • Rとは何ですか
  • 彼はどこから来たのですか
  • なぜ私は彼を愛しているのか
  • 神話と真実

どうしたの R

初めに Rプログラミング言語を使用した統計およびその他の科学計算のためのシステムです。 S .

S- 書かれた言語 統計学者のための統計学者。著者のジョン・チェンバースによって定義されています。 この言語は、その誕生以来、非常に評判が良く、何世代にもわたる非常にうるさい統計学者によってテストされてきました。 世界の統計界では広く知られ、受け入れられていると考えられます。 舌の上で S多くの重要な疫学、環境、財務モデルが導入され、現在も世界中の多くの業界で運用されています。 「作家」としての私の視点から見た言語として、 S言語に代わる非常に優れた手段です SAS .

私自身の経験から - 知り合いと最初のレッスン S私自身も 90 年代初頭に、当時科学研究で交流があった WHO の統計学者からこのようなメッセージを受け取りました。

多くの見積もりによると、R は (私の意見ではありますが、あまり誇張ではありませんが) 最も成功したオープンソース プロジェクトの 1 つであり、GNU ライセンス標準に従って世界中の数十のミラーから無料で配布されています。
著者らは、プロジェクトの商業化に関するすべての提案を断固として拒否していますが、今日では、世界中でインストールされている R のコピー数が総コピー数を超えていると信じる理由があります。 全て他の統計分析システム。

当初から今日に至るまで、このプロジェクトは安定性、ユーザー サポート、コードの互換性などに対して(賞賛に近い)深い敬意を抱いており、これらをコンセプトに組み込むことになります。 文化.
ただし、最後の文は以降のサブセクションに当てはまります。

それはどこから来たの SそしてこれはRと何の関係があるのですか?

間違いなく、ウィキペディアにはさらに多くの手紙が表示されるでしょう。
この世界のこの人生におけるSとRの位置を理解するために重要だと思うことだけを書き留めておきます。

ベル研究所 (別名ベル研究所、AT&T ベル研究所) は、科学技術の歴史、特に IT 企業の歴史において非常に有名です。 そこでの統計研究は常に非常に真剣であり、利用可能なすべてのコンピュータ ツール (大量の Fortran および Lisp コードを読む) によっても真剣にサポートされています。

後に S 言語となるものは、70 年代に John Chambers (John Chambers) の主導のもと、Fortran コードへのデータの「フィード」を容易にするスクリプトのセットとして始まりました。 それらの。 最前線にあったのは、インタラクティブなデータ操作、コンパクトさ、コードの書きやすさと読みやすさ、そして表やグラフのさまざまなデバイスで適切な出力を取得するというタスクでした。

この言語の構文は、ほぼ任意に複雑なデータ構造の構築、特定の統計タスクとオブジェクトを記述するための手段、つまり stat を提供します。 テスト、モデルなど。

1984 年以来、この言語には独自の「聖書」という名前が付けられました (チェンバースとベッカーズによって出版された本: S: データ分析とグラフィックのための対話型環境)、統計と「確率」のほぼ完全な「紳士セット」(分布、乱数生成器、統計検定、多くの標準的な統計分析、行列の操作など)がデフォルトで含まれるようになり、開発された科学システムは言うまでもなく、グラフィックス。 最も重要なのは、世界中のユーザーが非常に手頃な価格で利用できるようになったということです。

1988年(別の本が出版されました) 新しい S 言語) - OOP を使用して変更され、すべてが非常に合理的なデフォルト値、変更のためのアクセシビリティ、自己コメント要素などを持つオブジェクトになりました。

同時に、研究所はソースコードと「ベル研究所」を公開しました。 S学生および科学的用途には無料になりました。 それはすべて、何らかの形でAT&Tの「剥奪」に関係していましたが、私はこれらの詳細にはあまり興味がありませんでした。

この言語の商用実装は存在し、おそらく現在も存在します。 S。 私は直面しました エスプラスそして S2000。 彼らはさまざまな時期にさまざまな企業によってサポートされており、主に以前に作成されたサポートによりライブ(ライブ?)されました。 Sアプリケーション。 これらの Bell 以降のバージョンでは S OOP エンジンの新しいバージョンがありましたが、純粋なユーザーにとっては、歴史的なコードの互換性の点でほとんど無血でした。

R- (オリジナルの Bell から) 完全に独立した非営利の唯一の言語実装 S.

そして、現代では珍しい合意により、ある意味私には想像もできない形で、商用版の現在のバージョンの開発者は、 Sそして非営利 Rほぼ完全な互換性と継続性を維持します。

そして今R

この世の重要な現象の背後には、ある種のカリスマ性が存在します。 ただし、これは起こり得ることであり、それが現象の重要性の定義です。

Rの場合、そのような人が3人います。
ジョン・チェンバースについてはすでに言及しました。

オークランド大学統計学部の学生であり、その後研究者となったロス・イハカは、統計的プログラミング言語用の仮想マシン (VM) を構築する可能性の研究を博士論文のテーマとして選びました (これは発表されました)米国のマサチューセッツ工科大学で公開されています)。 中間言語として選ばれました。 舌足らずの発音 (Common Lisp、CL) そして VM プロトタイプがその上に実装され、その小さなサブセットを「理解」します。 SASそして S.
ロスは博士論文を仕上げるためにオークランドに戻り、そこですぐにロバート・ジェントルマンに会い、R プロジェクトに興味を持つようになりました。
ロス氏は自分の論文を擁護したことは一度もなかったが、すでに「功績に基づいて」いくつかの大学から学位を取得している。 昨年その称号を授与され、母校の准教授(准教授)の職を獲得した。

プログラミングに情熱を注ぐもう一人の統計学者ロバート・ジェントルマンは、オークランド大学でインターンシップに参加中(当時オーストラリアで働いていた)カナダ出身で、ロスに「ある種の舌を書く」ことを提案した。
私自身がこれらの「建国の父」たちからわずか一か月余りで聞いた伝説によると、彼らは狂った熱意のあまり、次のように書き換えたという。 CLほぼすべてのチーム S、強力な線形モデリング ライブラリが含まれています。

コンピューティングエンジン R、プロトタイプの伝統に従って、よく知られ、一般に認識されている無料の BLAS ライブラリが選択されました (同じインターフェイスで ATLAS などを使用できる機能付き)。
ロスの最も親しい友人の一人であり、オークランド大学の職員でもあるポール・マレルは、その機能を完全に再現するグラフィックス エンジンをわざわざ最初から (C で) 書きました。 S.

その結果、無料のフル機能のパッケージがすぐにオークランル大学のカリキュラムに組み込まれ、チェンバースの非常に詳細で高品質な本の説明と完全に一致しました。従来はペーパーバックや中品質の印刷物で出版されていましたが、安くてアクセスしやすい。
GNU (GIS など) 運動のいくつかの活動家グループは、科学技術コンピューティングのプラットフォームとして R を採用しています。

しかし、本当に最も広い名声は R当時、Affimmetrix 社の業務に携わっていた「父」の 1 人である Robert Gentleman が、同社の商用ソフトウェアのすべての機能を複製し、(もちろん、1 つではありませんが) オープンソース プロジェクトを立ち上げたときに、バイオインフォマティクスの分野でこの技術を習得しました。生体伝導体。 現在 生体伝導体は、すべての「オミックス」 (ゲノミクス、プロテオミクス、メタボロミクスなど) のバイオインフォマティクス オープン ソースの誰もが認めるリーダーです。

当然のことながら、このバイオインフォマティクスの空想の暴動に対する単一のインターフェース言語は、 R.

このサークルは、言語の創始者チェンバースが引退したときに完成しました。 S、アクティブな開発者のグループの正式メンバーになりました R.

私が彼を愛する理由(リスト)

  1. インタラクティブ性、「データを使ったプログラミング」が私の好きなワークスタイルです
  2. エレガントな (アマチュア向けの) 言語 - リスト、データ フレーム、関数型プログラミング、ラムダ関数が大好きです (アラ) 表現の自由: 同じ問題を 10 通りの方法で解決できます (マンネリ感を和らげます)
  3. 「彼はこの世界を冷静に見ている」 - スレッドが「フォール」したり「ハング」したりすることはめったになく、データが欠落している論理演算、実行時のエラー処理 (トライエラー)、標準 I/O レベルでのシステムとの簡単な交換、等
  4. すぐに使用できる統計手順の完全なセット
  5. 互換性、継続性など、十分に文書化され、よく保守されています。
  6. 彼の周りには、人間的に楽しい専門コミュニティ (フォーラム、ユーザーカンファレンスなど) が集まりました。
  7. Fortran、C、Java などの外部ライブラリおよび関数のインターフェースが十分に文書化されています。 そのため、科学のほぼすべての分野における統計とデータ処理のあらゆる側面に関する十分に文書化されたライブラリが数多くありますが、主に生物情報学/生物統計に焦点を当てています。 著者の意志がある場合、すべてが定期的に正しく更新されます
  8. 「基本構成」に必須の GUI がない - そうですね、私は「マウス」派ではありません。
リスト外: 私のメインの仕事ツールに魂が宿っていることを嬉しく思います。
実際、私がこの記事で示そうとしていること。

使用する理由と使用方法 (例)

このセクションで書き始めましたが、やめました。
そうでなければ決して終わることはなかったでしょう。
ああ、もしかしたら後かもしれない。

神話と真実

R遅い
R は薄く、計算には blas/lapack/atlas ライブラリを使用します。古き良き Fortran (多くの場合) の主力製品よりも高速なものを書いてみてください。 原則として、すべての重要な関数はベクトル演算を使用し、 .
R はコンピューティング リソース、特にメモリを悪用します
はい、開発者はそのような罪を認識しています。 しかし、スペシャリストの作業時間は現在、ハードウェアよりも高価です。 最新の動作するコンピューターからおもちゃをアンロードすると、ほとんどの実際のデータ セットがあれば、R で問題なく動作します。
フリーソフトウェアは信頼できない
多分: Fortran、Linux、C、Lisp、Java
エピローグの代わりに
上で述べたように、以下の投稿は実際にはかなり特定の対象読者に向けた私のプレゼンテーションの翻訳であり、その対象読者について簡単に説明します。

食品産業は資本を調達し利益を生み出すために石油やその他のエネルギー源と長年競争してきたため、多くの「クリーン」IT企業はそのような人々に対応しなければならないだろう。 そして、誰が何と言おうと、医学や薬学におけるバイオインフォマティクス市場の能力には限界があります。

したがって、私の聴衆は、遺伝学と育種学、獣医学、そしてあまり多くはありませんが生物学(主に分子)の基礎教育を受けた人々です。 おじさんとおばさん(後者が多い)、20〜30歳...プログラミング(!) フォートランまたは VBは、100,000 行/列の Excel テーブルを管理し、12 TB の共有メモリを備えた Linux コンピューティング 500 以上のコア クラスターでタスク (およびプログラミング) を定期的に「ドロップ」していることで有名ですが、場合によってはさらに 10 TB のディスク メモリの拡張が必要になることがあります。

方法論の基礎は、最尤法、「脳が溶ける」ベイジアン ネットワークなどによって以外に解決できない混合モデルを備えた分散分析の世界としての古代の爆発的な混合物です。

データ - 単位から数万行までのデータの表。表現型を含む 1 ~ 5 列が含まれる場合もありますが、多くの場合、相互および表現型と弱い相関関係にある変数の数十または数百の「Ka」列が含まれます。

そうです、彼らには、すべてを家族の絆(結局のところ、遺伝)の観点から考えるという「良い伝統」もあります。 関係は伝統的に、たとえば 40,000 x 40,000 (動物が 40,000 頭の場合) の「親族関係」(血統) のマトリックスの形式で表示されます。 そうですね、または (幸いなことに、これまでのところ、プロジェクト内でのみ) 20,000,000 x 20,000,000 - これは、データベースで利用可能な 2,000 万匹の歴史的動物すべてを単一のモデルで「カバー」することです ( DB2誰かが興味を持っていて、Cobolでさえまだどこからでも「切り取られて」いない場合...)

(同時に)に関する文献が散らばったテーブルの上 Fortran、Java、C#、Scala、Octavia、初心者向け Linux最近のバイオインフォマティクスの卒業生を認識できます。 しかしどういうわけか、彼らの多くはすぐに「プログラマー」のために科学から離れます。

ただし、その逆の場合も知っています。 それで R さらに多くのことが役立つでしょう。

無料の統計解析環境 R の使用について話したいと思います。私はこれを SPSS Statistics のような統計パッケージの代替として考えています。 非常に残念なことに、それは私たちの祖国の広大さの中でまったく知られていませんが、無駄です。 S 言語で追加の統計分析手順を作成できるため、R システムはデータ分析に有用なツールになると私は考えています。

2010年の春学期、私はロシア国立人道大学の知能システム学科の学生を対象に「統計データ分析」コースの講義と実習を行う機会がありました。

私の学生は以前、離散確率空間、条件付き確率、ベイズの定理、「大数」の法則、正規法則の背景、および中心極限定理の基礎をカバーする確率理論の学期コースを受講していました。

5 年ほど前、私はすでに (当時は統合されていた) 学期コース「確率と数学統計の基礎」を教えていたため、統計に関するノート (各授業前に生徒に配布) を拡張しました。 RSUH には学部の学生サーバー isdwiki.rsuh.ru があるので、それらを並行して FTP にアップロードします。

コンピューター教室での実習にはどのようなプログラムを使用するべきかという疑問が生じました。 一般的に使用されている Microsoft Excel は、一部の統計手順が独自に実装されており、実装が間違っていたため、拒否されました。 これについては、たとえば、A.A. マカロフと Yu.N. チュリンの著書「コンピューター上のデータの統計分析」を読むことができます。 無料のオフィススイート Openoffice.org の Calc スプレッドシートはロシア語化されており、必要な機能をほとんど見つけることができません (名前もうんざりするほど短縮されています)。

最も一般的に使用されるパッケージは SPSS Statistics です。 SPSS は現在 IBM に引き継がれています。 IBM SPSS Statistics の利点の中で、次の点を強調します。

  • さまざまな形式での便利なデータのロード (Excel、SAS、OLE DB 経由、ODBC ダイレクト ドライバー経由)。
  • さまざまな統計分析手順に直接アクセスするためのコマンド言語と広範なメニュー システムの両方が存在します。
  • 結果を表示するグラフィック手段。
  • 適切な分析方法をインタラクティブに提供する組み込みの統計コーチ モジュール。
私の意見では、IBM SPSS Statistics の欠点は次のとおりです。
  • 学生であっても有料。
  • 特別な手順を含むモジュールを (追加料金で) 入手する必要がある。
  • Windows は 32 ビットと 64 ビットの両方をサポートしますが、32 ビット Linux オペレーティング システムのみをサポートします。
代替案として、 を選択しました。 このシステムは、1995 年にメルボルン大学統計学部の Robert Gentleman と Ross Ihak の努力によって開発が始まりました。 著者の名前の最初の文字がタイトルを決定しました。 その後、一流の統計学者がこのシステムの開発と拡張に参加しました。

ここで説明したシステムの利点を次のように考えます。

  • GNU Public License に基づくプログラムの配布。
  • CRAN (包括的 R アーカイブ ネットワーク) リポジトリの広範なネットワークでソース コードとバイナリ モジュールの両方を利用できます。 ロシアの場合、これは cran.gis-lab.info サーバーです。
  • Windows 用のインストール パッケージの存在 (32 ビットと 64 ビットの両方の Vista で動作します)。 Windows XP ではインストールに管理者権限が必要ないことを偶然知りました。
  • Linux 上のリポジトリからインストールする機能 (64 ビット バージョンの Ubuntu 9.10 で機能します)。
  • 統計手続き用の独自のプログラミング言語 R の存在。これが実際に標準になっています。 たとえば、これは新しい IBM SPSS Statistics Developer システムによって完全にサポートされています。
  • この言語は、ベル研究所で開発された S 言語の拡張であり、現在商用 S-PLUS システムの基礎を形成しています。 S-PLUS 用に作成されたほとんどのプログラムは、R 環境で簡単に実行できます。
  • スプレッドシートとデータを交換する機能。
  • 計算の履歴全体を文書化目的で保存する機能。
最初のレッスン用に CD が用意され、インストール ファイル、ドキュメント、マニュアルが記録されていました。 後者についてはまた詳しくお話します。 CRAN は、インストール、R (およびそのサブセット S)、追加の統計手順の作成、データのエクスポートとインポートに関する詳細なユーザー マニュアルを提供します。 「寄稿ドキュメンテーション」セクションには、教育プロセスでこのパッケージを使用している統計教師による多数の出版物が含まれています。 残念ながら、ロシア語には何もありませんが、たとえばポーランド語にもあります。 英語の書籍では、ニューヨーク市立大学の John Verzani 教授による『統計入門のための R の使用』と国際大学のロシター教授 (オランダ) による『Statistical Computing R プロジェクトの概要』を挙げたいと思います。地球情報学および地球観測研究所。

最初のレッスンでは、パッケージのインストールと使い方の学習、R 言語の構文の理解に専念し、テスト タスクとしてモンテカルロ法による積分計算を使用しました。 以下は r.v. の確率を計算する例です。 パラメーター 3 の指数分布では、0.5 (10000 - 試行回数) より小さい値が取られます。
> x=runif(10000,0,0.5)
> y=runif(10000,0,3)
>t=y<3*exp(-3*x)
>u=x[t]
>v=y[t]
>プロット(u,v)
> i=0.5*3*長さ(u)/10000

最初の 2 行は、長方形 x 内の点の一様分布を設定します。次に、指数密度 3*exp(-3*x) のグラフに該当する点が選択され、プロット関数によって点がグラフィック出力ウィンドウに表示されます。 、最後に目的の積分が計算されます。
2 番目のセッションでは、記述統計 (分位数、中央値、平均、分散、相関、共分散) の計算とプロット (ヒストグラム、ボックスアンドウィスカー) に専念しました。
以降のレッスンでは、「Rcmdr」ライブラリを使用しました。 これは R 環境用のグラフィカル ユーザー インターフェイス (GUI) であり、カナダのマクマスター大学の John Fox 教授によって作成されたライブラリです。

このライブラリは、R 環境内で install.packages("Rcmdr", dependency=TRUE) コマンドを実行することによってインストールされます (標準統計プロシージャ)。 これは、学生にボタンの押し方を教えることが主なコースの場合に特に便利です (残念なことに、現在では、ボタンを押す方法がますます増えています)。

前回の講座からセミナー用のノートが拡充されました。 FTP 経由で isdwiki.rsuh.ru から入手することもできます。 これらのメモには、黒板の計算に使用される臨界値の表が含まれていました。 今年、学生はこれらの問題をコンピュータで解くことと、同じく注に示されている(正規)近似を使用して表をチェックすることを求められました。

私のミスもいくつかありました。 たとえば、Rcmdr を使用するとダウンロードしたパッケージからデータをインポートできることに後になって気づきました。そのため、比較的大きなサンプルは回帰分析のレッスンでのみ処理されました。 ノンパラメトリック テストを提示するとき、データは私のメモを使用して学生によって手書きで入力されました。 もう 1 つの欠点は、今ではわかりましたが、R 言語でかなり複雑なプログラムを書くための宿題の数が不十分だったことです。

なお、数人の先輩が私の授業に通い、講義やセミナーの資料をダウンロードした人もいました。 RSUH の知能システム学科の学生は数学とプログラミングの基礎的なトレーニングを受けているため、(スプレッドシートや固定統計手順を備えた統計パッケージの代わりに) R 環境を使用することは非常に役立つように思えます。

統計の研究、特に統計データ処理のための非標準的な手順を作成するというタスクに直面している場合は、R パッケージに注目することをお勧めします。

最近、私はそのような現象に遭遇しました - R プログラミング言語については多くの人が聞いたことがあるでしょう。 しかし、それが何であるかを知っている人はほとんどいません。

私はこの言語のネイティブスピーカーであり、その普及に興味があるので、この記事ではこのトピックについて少し取り上げてみたいと思います。 面白くなりますよ!

計画はシンプルです:

1) R言語とは何ですか

2) ロシアでの人気

R言語とは何ですか

R (wiki) は、統計データ処理およびグラフィックス用のプログラミング言語であり、GNU プロジェクトに基づく無料のオープンソース コンピューティング環境です。

私たちのやり方: この言語は市場パターンを見つけるのに最適です。 無料、高速、そして無料。

これにより、手の届くあらゆるものについて統計調査を行うことができます。 その存在以来、何十、何百もの拡張機能が登場し、ほぼすべての応用問題を解決してきました。

これは、西側のアルゴリズムトレーダーにとって最も人気のあるプログラミング言語です。 これは、機械学習と統計の分野で現在利用可能なものの最先端です。

R でプログラムを作成するには、R-Studio をダウンロードするだけです。



少し前に、言語の普及の一環として、「みんなの R」というミニコースを録画しました。 無料。 すべてがいかに簡単に機能し、スクリプトをいかに速く書くことができるかをご覧ください。 本当に素晴らしいです!

ロシアでの人気

まだまだ望まれることはたくさんあります。

西側諸国ですべての研究の 90% がこの言語を使用して行われているとしても、ロシアでは、SmartLab に関する稀な週があり、その中で少なくとも 1 回はこの言語についての言及が見られます。 それらの。 R を知っている人の数は非常に少ないです。

この状況の理由には、最近までロシア語のマニュアルがなかったこと、トレーニングコースがなかったこと、トレーダーのリテラシーが低いことなどが挙げられます。 これについては話さないでおこう。

唯一重要なことは、ロシアとCIS諸国におけるこの言語の人気が着実に高まっているということです。

ロシアのユーザーは、機能しない API や高価な取引システムにうんざりしています。 無料の R 言語は、トレーディングの文脈において、間もなくツールキット内で正当な位置を占めることになります。 今すぐ参加してください!

それが今日のすべてです。 面白かったら幸いです。

私の無料コースを見て、コードを書くのがいかに簡単かを学びましょう。 ロボットを書こう!

最近のセクション記事:

テーマに関するプレゼンテーション
「肉」をテーマにしたプレゼンテーション 肉の広告をテーマにしたプレゼンテーション

プレゼンテーションのプレビューを使用するには、Google アカウント (アカウント) を作成してサインインします。

料理講師のワークショップ
料理講師のワークショップ

「料理と健康」 - ジャガイモ。 オーク樹皮はどのような病気に使用されますか? サービス組織。 シセロ。 ラッキーなケース。 ミュージカル...

ロシア語とロシア文学の教師ウスティノワ・マリーナ・ニコラエヴナMBOU「パブロフスカヤ中等学校」の職務経験のプレゼンテーション - プレゼンテーション
ロシア語とロシア文学の教師ウスティノワ・マリーナ・ニコラエヴナMBOU「パブロフスカヤ中等学校」の職務経験のプレゼンテーション - プレゼンテーション

一般的な職務経験 - 14 年 教育 - 14 年 この機関での職務経験 6 年 ロシア語およびロシア文学の教師としての地位...