2016/07/21
2020/05/20
R言語入門
R言語の入門者~中級者向けのページです。R言語の使い方を手とり足とり教えます!Rに初めて触れる方でも、分かりやすい構成にしてあります。また、Rによる代表的な統計解析を自作関数例を交えて紹介しています。リンクをクリックすると、各説明ページ(別ページ)に飛びます。
※当サイトでは、”R言語”を、省略して”R”と記述することもあります。
※当サイトで紹介しているプログラムはRでコピーアンドペーストすることで、実行が可能ですが、macのRの場合、書体(形式?)の問題でエラーすることがあるようです。その場合は、貼り付け時にcommand+alt+Vとすることで解消する場合があります。お困りの方はお試しください。ご迷惑おかけして申し訳ございません。
目次
- 1 当ページについて
- 2 R言語ってそもそも何?
- 3 Rのインストールと実行環境の使い方
- 4 初心者向けコーナー【全5回】
- 5 Rによる分布のグラフ・箱ひげ図の作成
- 6 Rによる各種解析と自作関数例
- 6.1 線形モデルによる回帰分析の自作関数例
- 6.2 ロジスティック回帰分析と自作関数例
- 6.3 条件付きロジスティック回帰分析と自作関数
- 6.4 相関係数を求める方法とそのまま使える自作関数例
- 6.5 3種のt検定行う方法とそのまま使える自作関数
- 6.6 独立性のカイ二乗検定 そのまま使える自作関数
- 6.7 フィッシャーの正確確率検定 そのまま使える自作関数例
- 6.8 散布図をプロットしてpngで保存する自作関数
- 6.9 ステップワイズの変数選択法による重回帰分析の自作関数例
- 6.10 データ集計するときに使える便利コマンド集と関数例
- 6.11 Rでサイコロの話をシミュレートしてグラフ化
- 6.12 RでYouden Indexを用いたROC曲線の最適カットオフ
- 7 Rの解析小ワザ・エラー対応
- 8 お問い合わせ
当ページについて
これからR言語の勉強をしたいと考えている方、もしくは今すぐにでもRを使って解析をしたいと考えている方に向けたページです。R言語の初心者や中級者が書籍に頼ることなく、Rを使った解析が学べるような構成にしています。
当ページは、「プログラミングも初心者です」という人も読んで分かるようにしてあります。Rプログラミングで出来ることは本当に沢山ありますが、その中でも特に入門用に厳選して構成しました。多くの方が当ページでR言語入門を果たしていただければ幸いです。
完全な初心者の方は、初心者向けコーナーがありますのでそちらから始めることをお勧めします。→初心者向け【第1回】ベクトル・行列の作成と四則演算・要素の参照
また、代表的な解析については、解析→必要なパラメーターを抽出→エクセルファイルへの書き出しの一連の流れを自作関数として作りました。解析をお急ぎの方は、こちらのプログラムを参考にしながら少し書き換えるだけで自分のやりたい解析ができるはずです。
当サイトに掲載されている、プログラムのコードは自由に使っていただいて構いません。是非、ご自分の解析にお役立てください。(無断転載するときは、該当ページへのリンクも一緒に掲載をお願いいたします。)
R言語ってそもそも何?
R言語とは、オープンソースのフリーソフトウェアであり、プログラミング言語の一種です。そして、統計的なデータ解析・データ分析に特化したスクリプト言語です。フリーソフトなので、誰でもタダで利用できますし、オープンソースという特徴を活かして現在も改良され続けられています。R言語のソースコードは主にC言語などによって出来ています。
統計解析用の言語なので、ほかのプログラミング言語のように汎用性は有りません。代わりに、統計解析に関しては抜群に簡単なプログラムで行えます。良く似た言語として、Pythonが挙げられますが、統計解析力はR言語の方が上だと言われることもあります。Rでは統計解析のための、様々なライブラリ(パッケージ)や関数が元々用意されていています。これらのライブラリはR言語が人気を高めるに連れて、SPSSやGreenplum、Exadataからも呼び出せるようになりました。
さらに、データの操作に対しても非常に柔軟性があり、ほぼ自由自在にデータを処理することが可能です。Rで使える便利なコマンド、いわゆる、”技”というものはたくさんあり、覚えれば覚えるほどRをより便利なツールとして使いこなすことができるでしょう。統計学の予備知識がない人でも短期間の学習で、ある程度は使いこなせるようになるところも魅力の一つです。
R言語は、統計学や機械学習がビジネスや医療の面でその役割を強めていくに従って、ますます重要性が高まってきている言語です。世界中のデータサイエンティストが競い合うデータ解析コンペ、KaggleはR言語かPythonでの参加を求めています。
また、Rユーザーの数も年々増えていて、TIOBEによると、人気のプログラミング言語で、昨年の19位から大幅にランキングを上昇させて、2017年11月時点で11位にランクインしています。
Rのインストールと実行環境の使い方
R言語の実行環境がまだインストールできていない方は、ご利用のOSに合わせたRをインストールしてください。
【Windows版】Rのインストールの仕方
【Mac版】Rのインストールの仕方
【Windows、Mac】プログラムの実行方法
初心者向けコーナー【全5回】
【第1回】ベクトル・行列の作成と四則演算・要素の参照
Rでベクトルと呼ばれるリストの扱い方や、行列の操作の基礎を解説しています。基本的な計算や、演算子の使い方、行列の列ごとの参照・行ごとの参照は、ここでマスターしましょう。
【第2回】データ読み込みとデータの取り出し方
Rではデータフレーム型(行列に似ている)という形式でデータの操作をします。csvファイルやテキストファイルをデータフレーム型として、Rに読み込み、各種の操作する方法について解説しています。
【第2.5回】Rで解析する上で知っておきたい便利なコマンド集
おまけとして、R言語でよく使う便利なコマンド(関数)をまとめておきました。今すぐ覚える必要はありませんが、よく使うので必要に応じて読むようにしてください。また、第3回以降で使っているコマンドとその使い方も載せてあります。
【第3回】線形モデルによる回帰分析
いよいよ解析に入ります。仮想の統計データを用いて、回帰分析による統計処理を行います。R言語では解析の処理関数が、もともと用意されているのがほとんどです。回帰分析も既存の関数”lm()”を使えばいいだけです。ということで、”lm()”使い方を紹介しています。また、p値やt値、信頼区間など解析結果の細かい参照の仕方もここで紹介しています。単回帰・重回帰共にここで紹介しています。
【第4回】関数の作り方・使い方
ここでは、関数定義と関数呼び出しの方法を解説しています。Rでも他のプログラミング言語と同様に、関数名を自分で指定した自作関数を作れます。自作関数を使うことで、よりすっきりとした分かりやすいプログラムになる上に、よく使うものは関数として作っておくことで、プログラムを組まなくてもすぐに使えて非常に便利です。是非、使い方を覚えておきましょう。
【第5回】グラフのプロットと画像保存の方法(回帰直線)【終】
Rでは、R上でグラフを作成することも出来ます。データフレームのグラフ化したい部位をグラフにプロットする方法を紹介しています。また、回帰分析の結果の回帰直線を引く方法、さらには、それをR上だけではなく、画像ファイルとして保存する方法まで解説しています。
【おまけ】新しくパッケージをインストールするには?
Rには便利なパッケージ(ライブラリ)がたくさんありますが、全てがそのまま使えるわけではなく、手動のインストールを必要とするものもあります。ここでは、その方法を紹介していきます。使いたいパッケージを、自分でインストールできるようになりましょう。
【おまけ】実行するだけでR言語入門が出来るプログラム
コピーアンドペーストして、1行ごとに実行することで、1~6回の復習ができるプログラムを載せてあります。また、入門をお急ぎの初心者の方にも最適です。
Rによる分布のグラフ・箱ひげ図の作成
R言語では、ほとんどの確率分布のグラフや、ヒストグラム、箱ひげ図などを簡単に描画することができます。ここでは、Rによる、グラフや図の描画の一部をご紹介いたします。
正規分布のグラフを描く。【curve()の使い方】
t分布のグラフを描く方法【dt()の使い方】
カイ二乗分布のグラフを描く方法
RでF分布の確率密度関数のグラフを描く方法
箱ひげ図を描く方法【関数boxplotの使い方】
Rによる各種解析と自作関数例
線形モデルによる回帰分析の自作関数例
回帰分析から、回帰係数やp値やt値などの、各種結果をcsvファイルに出力するまでの一連の流れを行ってくれる、自作関数を掲載しています。是非お役立てください。
ロジスティック回帰分析と自作関数例
目的変数が2値データである場合に使う回帰分析、ロジスティック回帰分析の方法を解説しています。また、こちらもcsvファイルへの出力まで行う自作関数も掲載しています。
条件付きロジスティック回帰分析と自作関数
Rのsurvivalというパッケージには、条件付きロジスティック回帰分析を行うための関数clogit()が含まれています。この関数の使い方と、解析からcsvファイルへの出力までを行う自作関数を、掲載しています。
相関係数を求める方法とそのまま使える自作関数例
Rで相関係数を求めるR用の関数”cor()”の使い方を紹介しています。(ピアソン・スピアマン)また、相関係数に関する検定を行う関数、cor.test()の使い方もここで紹介しています。一度に多量の相関係数とそれに関する検定を行なってp値を出力する自作関数も用意したので、お役立てください。
3種のt検定行う方法とそのまま使える自作関数
R言語を使って、t検定を行う方法を解説しています。t検定には様々な種類が有り、等分散仮定、不等分散仮定、ウェルチの検定、ウィルコクソン検定など、幅広く紹介しています。また、結果の見方についての解説もここで行っています。最後に、結果の出力までを行う、そのまま使える自作関数も用意しています。
独立性のカイ二乗検定 そのまま使える自作関数
Rでカイ二乗検定を行うための関数chisq.test()の使い方を紹介しています。また、2列のデータに対して、独立性のカイ二乗検定を行なって、結果をcsvファイルに出力する自作関数を作成しました。ぜひお役立てください。
フィッシャーの正確確率検定 そのまま使える自作関数例
データ数が少ない場合、カイ二乗検定によるカイ二乗分布近似は、不正確になります。そのときには、フィッシャーの正確確率検定を使います。こちらも、解析結果までの出力を行う、自作関数を作成しましたので、お使いいただければと思います。
散布図をプロットしてpngで保存する自作関数
散布図をプロットして画像ファイルとして保存する自作関数です。2列のデータを入れることで、データの列名に応じて自動的にファイル名を決定して、出力します。for文と組み合わせて使うことで、一度にたくさんの散布図を出力して見比べることが可能です。
ステップワイズの変数選択法による重回帰分析の自作関数例
重回帰分析の説明変数の選択には様々な手法が有りますが、ステップワイズの変数選択法はそのうちの一つです。ここではステップワイズの変数選択法を、行う自作関数を載せています。
データ集計するときに使える便利コマンド集と関数例
解析だけでなく、単にデータを集計(最大値、最頻値、25%点など)するだけでもR言語は便利なコマンド(関数)がたくさんあります。データ集計に使えるコマンドをまとめました。また、実際に集計に使える自作関数も用意しました。
Rでサイコロの話をシミュレートしてグラフ化
R言語では試行をシミュレーションするための関数sampleが用意されています。それの使い方をコインとサイコロを例に説明した後、サイコロの和のシミュレーション結果を棒グラフ化しています。一般的にそれは正規分布に近い形になることは知られていますが、それについて検証しています。
RでYouden Indexを用いたROC曲線の最適カットオフ
ROC曲線によるカットオフの決め方はざまざまな手法がありますが、ここではYouden IndexによるカットオフをR言語でどのようにプルグラムするか、簡単に載せています。データがあれば、そのまま使えるように自作関数の形にしました。
Rの解析小ワザ・エラー対応
回帰分析の重相関係数Rの信頼区間を出力する方法
回帰分析を、回帰係数の信頼区間は自動で計算されます。ここでは、重相関係数の信頼区間も出力する方法について紹介しています。
ベクトルにその要素が無いなら追加する自作関数
ベクトルに要素を追加するときはc(追加元のベクトル,追加したい要素)で追加できますが、追加元のベクトルにその要素が無ければ、追加して、あれば追加しない、という関数を作りました。
Mac版のRでマルチバイトエラーが出た時は…
Mac版のRで、マルチバイトな文字があります。というエラーが出てcsvファイルの読みこみや書き出しが出来ないと言うことがあります。これは、オプションに fileEncoding=”CP932″ と指定することで解決することがあります。
Rで同じプログラム(関数)なのに結果が変わる時は?
Rでは、同じプログラムや関数で、同じデータを分析しても解析結果が変わることがあります。それは、解析用の関数の中で乱数を用いている部分があるからです。その解決方法はset.seed(125)などとして、シード値を固定することで使用する乱数を固定することです。
お問い合わせ
当サイトは、初心者により分かりやすい解説を目指して随時改善をしてまいります。もし、何かご意見、ご要望がございましたら、こちらよりご連絡ください。
Recommended