R言語とは?何ができる言語なのか、Pythonとの違いについても解説

 2020.12.29  株式会社システムインテグレータ

R言語とは

1990年代にニュージーランドのオークランド大学の研究者によって開発されたR言語は「統計解析、データ分析、グラフィック分野を得意とするプログラミング言語」です。オープンソースなので無料で利用することができます。

R言語は、1980年代にAT&Tベル研究所で開発された統計処理言語の「S言語」の仕様を受け継いでいます。C言語のような汎用言語ではなく、統計解析分野のプログラミング言語として進化してきました。

R言語で何ができるの?

R言語は、統計計算・グラフィックの分野に特化しています。統計解析分野において、簡単なコードで複雑な統計計算を実施できる「パッケージ」の種類も豊富です。2020年末時点で1万7千件弱のパッケージが利用可能です。統計解析を中心に、時系列分析・機械学習・バイオインフォマティクスなどの分野でも活用されています。

統計解析

伝統的な統計学に基づく、統計学的検定や推定ができるだけではありません。世界中の研究者ら作成した統計解析のパッケージが毎日のように追加されていて、誰でも利用できるようになっています。そのおかげで、いろいろな分野の最新の研究で用いられている統計解析手法も手軽に実行することができます。

テキストマイニング

日本語の場合は、MeCabとRMeCabを利用して形態素解析を行い、自然言語処理・テキストマイニングをR言語で行うことができます。テキストデータからの頻出語抽出・ワードクラウド作成・単語の共起ネットワーク分析や対応分析などをR言語のパッケージで行うことができます。テキストマイニングソフトKH Coderの解析の一部にもR言語のコードが利用されています。

ヒストグラム、散布図

統計処理言語として開発されたR言語では、例えば、「hist(data)」というコードだけで、ヒストグラムを作成できます。散布図を描く場合は「plot(x,y)」というコードだけです。

t検定

 2群の平均値の差のt検定は、「t.test(group1, group2, var.equal=TRUE)」といった簡単なコードで実行できます。t検定の結果の数字を読み込んで95%信頼区間のグラフを作成するといったことも可能です。

ベイズ統計

伝統的な統計学だけでなく、R言語にはベイズ統計のパッケージも多数あります。ベイズ推定では、MCMC(マルコフ連鎖モンテカルロ法)を利用する場合がありますが、MCMCをR言語を利用して実行することができます。

 「bayesAB」というパッケージを利用すると、ABテストをベイズ統計の手法で行うことができます。ABテストの結果の解釈はベイズ統計のほうがわかりやすいのでおすすめです。パッケージの中には、t検定のベイズ統計版パッケージなどもあり、身近な統計処理のベイズ統計版をR言語で実行することが可能です。

統計理論の学習

R言語の始まりは、統計学の実習用プログラムです。統計解析が簡単にできるR言語は、統計学の勉強のツールとしても活用できます。実際の統計解析で行う計算をR言語で実行しながら統計理論を学ぶと、より実践的な理解が進むはずです。

 平均値・中央値、分散・標準偏差、最小値・最大値などの基本統計量の計算を簡単に行うことができ、さらに統計解析対象のデータからヒストグラム、箱ひげ図、散布図などを簡単に作成でき、データの分布状況などについて視覚的にも詳しく知ることができます。

R言語はExcelユーザーにもおすすめ

Excelで処理するデータの多くは、R言語でも処理できます。Excelのセルに計算式や関数を入力して行う処理をR言語でより効率的で正確に処理できる場合があります。

例えば、A列の数字とB列の数字の合計をC列に入力するといった処理はExcelではセルの計算式をC列のすべてのセルに貼り付ける必要がありますが、R言語ではデータを列単位(変数単位)で扱うのでより効率的で関数の貼り付けミスなどがありません。

データ前処理・データクレンジングもR言語で

データ分析の前の段階で、データの内容・形を整えるデータ前処理をExcelのPower Queryで行うことができますが、同様の処理はR言語でも可能です。R言語の方が複雑で細かい処理を実施しやすいかもしれません。Power Query のM言語よりもR言語の方がネットや書籍などから情報を得やすい利点もあるでしょう。

 データの前処理をR言語で行えば、前処理用プログラムを再利用でき、誰が行っても同じ結果を再現できます。Excelで前処理を手作業で行っている場合は、Power Query やR言語の利用を検討することをおすすめします。実際の解析はExcelで行ってもいいですし、R言語で前処理から解析まで一括して行ってもいいでしょう。

R言語とPythonの違いは?

Python もR言語と同じくオープンソースの言語で無料で利用できます。実は、R言語で実行できる多くの処理はPythonでも処理可能です。Pythonは統計処理の「ライブラリ」も豊富です。さらに、Pythonは統計計算の分野だけでなく、Webサービスの構築やアプリ開発など幅広い分野で利用されています。

Pythonの方が汎用性は高い

PythonはC言語と同じような汎用のプログラミング言語です。GoogleのWebサービスでも、Pythonがよく利用されています。YouTubeやGmailなどのサービスの裏側でPythonのプログラムが利用されています。R言語の利用範囲が統計解析分野を中心としているのに対して、Pythonは非常に幅広い分野で利用されています。その応用範囲の広さからPythonの人気は高まっています。

機械学習・ディープラーニング分野はPythonが優勢に

R言語は、統計解析やデータ可視化などの分野で活用されていますが、機械学習・ディープラーニングといったデータサイエンスの分野ではPythonを利用する人が多数派になっています。

実際にデータサイエンスのコンペティションサイトのKaggleで公開されているコードを見るとほとんどがPythonによるものになっています。

R言語の始め方

まず、R言語の公式サイトからインストーラーをダウンロードしてインストールする必要があります。そのままコンソールを使ってR言語を利用できますが、RStudioというソフトを合わせて利用すると格段に便利になります。

 なお、Windows PCの場合、アカウント名に日本語の名前を使っていると、パスに日本語のフォルダ名が含まれることになり、うまく動かないことがあります。この場合、英語のユーザー名のアカウントの環境を作成してインストールするなどの対処が必要になります。

RStudioを利用する

RStudioはR言語の統合開発環境です。データの読み込み・保存、プログラムの作成・実行・処理結果の表示、パッケージの管理などがRStudioで簡単にできます。基本的にパソコンにインストールして利用しますが、RStudio Cloudというクラウドサービスにも無料のプランがあるのでブラウザから試してみることができます。

GUIを利用する

R言語をGUI(グラフィカル・ユーザー・インターフェース)の環境で操作できるようにする「Rコマンダー」というパッケージがあります。その「Rコマンダー」を基に自治医科大学が開発した、医療統計解析に便利なEZRというフリーソフトがあります。

EZRは、基本的な統計解析処理に対応しているので、医療統計以外の分野でも大いに活用することができます。EZRの入門書もあり、マウスでメニューをクリックして統計処理ができるので簡単です。R言語による統計解析を試してみたい人におすすめです。

まとめ

R言語の特徴の一つは、多様な分野の研究活動と一体化したパッケージが数多くあるというところです。最先端の研究で使用されている統計処理プログラムを利用することができます。

「プログラミングしなければならない」ことから、自分とは縁遠いと感じる人もいるかもしれませんが、EZRのような利用しやすい環境もあります。

 R言語のプログラムのお手本はネット上に豊富にあり、始めてみると意外と簡単です。R言語は、統計解析の学習や統計解析を必要とする仕事に役立ちます。この機会にR言語に触れてみるのはいかがでしょうか。


RELATED POST関連記事


RECENT POST「プログラミング」の最新記事


この記事が気に入ったらいいねしよう!

om