支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • 初心者にもわかる「R言語」とは

はじめに

本記事ではデータ解析や機械学習をする際に用いられる「R言語」を「Python」と比較してそれぞれの言語について特徴をご紹介します。

R言語とは

R言語は1995年に開発されたオープンソースでフリーなプログラミング言語です。オブジェクト指向の手法も取り入れられた言語で、以下のような特徴を持ったプログラミング言語です。

1、統計解析に特化している
2、ユニークな機能
3、ソースコードが単純
4、OSに依存しない

統計解析に特化した言語

オブジェクト指向言語でよく耳にするのがJavaやC++などですが、R言語もオブジェクト指向言語の1つです。Javaなどのように色々なソフトウェアやアプリケーションを作れる汎用性はないですが、「統計解析」や「機械学習」に特化している言語です。以前は主に学術や研究の分野で使われていましたが、最近では民間企業でも導入が進んでいます。

ユニークな機能

R言語は統計解析に特化しているだけあって、データ解析を簡単に行えるようにデータを折れ線グラフや円グラフなど様々なグラフを出力する機能をたくさん持っているので簡単に解析を行う事ができます。

ソースコードが単純

R言語は他の言語と比べてみても比較的ソースコードが単純で初心者にも扱いやすいという特徴があります。ただ有用に使いこなすという意味では統計分析の知識が必要になります。

OSに依存しない

WindowsやMacはもちろん、LinuxやUNIX等でも動作します。

Pythonとは

Pythonは1991年に開発されたオープンソースの言語です。R言語と同様にPythonでも統計解析や機械学習を行う事ができますが、他にも組み込み開発や、Webアプリケーションなども行うことが出来ます。代表的なものでInstagramやYouTube、DropBoxなどが上げられます。こちらはコードをより書きやすく、より読みやすくするために生まれたプログラミング言語のため、初心者でもプロのようなコードを書くことができます。また以下のような特徴をもっています。

1、簡単に動作確認できる
2、便利な機能が充実
3、開発を効率化できる

簡単に動作確認できる

プログラミング言語は大きく分けて「コンパイラ型」、「インタプリタ型」という種類に分けることが出来ます。Pythonは「インタプリタ型」にあたります。コンパイラ型はコンパイルして実行ファイルを作成するのでコンパイル時に大量のエラーが発生し多くの時間を必要とします。一方インタプリタ型はプログラム実行時にソースコードをそのまま読み込むため、コンパイルの必要がなくすぐにプログラムの動作を確認できます。

便利な機能が充実

Pythonはさまざまな用途でつかわれるため、たくさんの便利なライブラリを実装しています。例えば、Webページから必要な情報を抽出できるWebスクレイピングや画像認識、また暗号化などもできるので楽に色々な機能を利用することができます。

開発を効率化できる

Pythonは大規模なWebアプリケーションやWebサービスを効率よく開発できるフレームワークが充実しているので、画面遷移、ログイン処理、セキュリティ管理などのプログラミングを手軽に構築することができます。

R言語とPython

R言語は上記でも説明した通り「統計解析」、「機械学習」だけに特化しています。そのためPython とは違い、単体でWebアプリケーションの開発などを行う事が出来ません。しかし専門的にデータの解析を行うデータサイエンティストを目指す方にはR言語を学習した方がいいです。なぜならPythonよりもデータ解析に関する機能が多くあり、より簡単なコードで解析を行うことが出来ます。

R言語の基礎

ベクトル

R言語では同じ型のデータをいくつかまとめた「ベクトル」を作ることが出来ます。R言語の場合、変数に代入する時「glt;-」と記述します。従って「x glt;- c(1,2,3,4,5)」とすると1~5の要素がxに代入されxというベクトルを作り、必要に応じてx内の要素を利用することが出来ます。

R言語は実数

ほとんどのプログラミング言語では整数同士の割り算を行うと演算結果も整数になります。しかしR言語では整数同士の割り算を行っても演算結果が実数となるので注意が必要です。

配列の注意点

R言語でも配列という概念がありますが、配列の添え字が他のプログラミング言語が「0」から始まるのに対して、R言語では「1」から始まります。そのため、他の言語も学習中という方は注意が必要になります。

R言語のデメリット

日本語でのリソースが乏しいため、R言語で不明な点がある場合、ほとんどの場合は英語のドキュメントを読むか海外のサイトを利用して不明点を解消する必要があるので独学で学習する場合に難しいというデメリットがあります。

おわりに

本記事ではR言語についてPythonの説明を交えながらご紹介させていただきました。Pythonの方が人気の高い言語となりますが、まだまだR言語の使用率は高くこれからも使われる分野が広がると予想されるので、ぜひ学習してみてください。