# 統計解析を行う上で便利なプログラミング言語を比較！

> 当サイト【スタビジ】の本記事では、統計解析において便利なプログラミング言語「Python/R/Stan/SQL」を比較していきます。それぞれのプログラミング言語にどのような特徴があるのか、どのように勉強していけばよいのか見てきますよー！

- URL: https://toukei-lab.com/statistics-programming
- 公開: 2022.11.29 / 更新: 2024.10.26
- サイト: スタビジ（https://toukei-lab.com）

:::talk{who="umatan"}
当サイト【スタビジ】の本記事では、統計解析において便利なプログラミング言語「Python/R/Stan/SQL」を比較していきます。それぞれのプログラミング言語にどのような違い/特徴があるのか、どのように勉強していけばよいのか見ていきますよー！
:::

データサイエンティストのウマたん([@statistics1012](https://twitter.com/statistics1012?lang=ja))です。

統計解析を行う上で必要なプログラミングのスキル。

世の中には<mark>プログラミング言語を使わずとも統計処理を扱えるソフトウェアが存在しますが、やはりそれらでは不十分なことも多い</mark>です。

:::talk{who="robotan"}
でもプログラミング言語っていくつかあってどれを選べばよいのか分かりづらいイメージ・・
:::

:::talk{who="umatan"}
そうなんだよねー！違いを理解して適切な言語を選ぼう！
:::

統計処理ができるプログラミング言語はいくつかあってどれを使えばよいのか分かりづらい。

そこで！この記事では、統計処理を行う上で必要なプログラミング言語の特徴を比較しながら見ていきたいと思います。

:::talk{who="umatan"}
プログラミングができるかできないかで大きく統計解析の深さが変わるよ！
:::

:::box{title="読み飛ばしガイド"}
・[なぜソフトウェアでは不十分か](/statistics-programming#i)\
・[統計解析に用いられるプログラミング言語](/statistics-programming#i-5)\
・[それぞれのプログラミング言語をどのように勉強するか](/statistics-programming#i-6)
:::

## なぜソフトウェアでは不十分か

![ソフトウェアではだめなのか？](/wp-content/uploads/2022/11/ed9b844dbac39ee90825802801251910-1024x576.jpg)

大学では、簡易的に統計処理を実装することのできるソフトウェアを使うことが多いです。

SPSSやSASなどが主に用いられていますが、<mark>これらのソフトウェアのどこが不十分なのでしょう？</mark>

僕の大学では、学部時代Statworksというマイナーツールを使っていました。

以下の動画でも解説していますので参考にしてみてください！

::youtube{#LHdS77yewnI}

### 説明のための分析に重きを置いている

これらのソフトウェアは、不確定なことを予測するというよりも<mark>現状の分析と要因の特定に重きを置いています。</mark>

そのため、現在主流となりつつある[機械学習手法](/machine-learning-fresh)や[ディープラーニング](/deep-learning)などに関しては弱い。

一般的な統計解析を行う分には問題ありませんが、少し高度な手法になると実装できないんです。

### カスタマイズ・チューニングができない

これらのソフトウェアは基本的な解析は実行できますが、<mark>パラメータをチューニングしたり複雑なロジックで解析を行ったりするのには適していません。</mark>

データ解析を究極に行うためには[機械学習](/machine-learning-fresh)のパラメータをチューニングしながら、そのデータに則した解析を行っていく必要があります。

そのためソフトウェアを使ってしまうと柔軟性がなく、一歩踏み込んだ解析ができません。

### お金がかかる

これらのソフトウェア、<mark>そこそこお金がかかります。</mark>SPSSは月額1万ほど。

<mark>RやPythonは無料のオープンソースプログラミング言語</mark>ですので、それらに比べると高額なのが分かると思います。

:::talk{who="umatan"}
プログラミング言語が扱えれば無料で解析がバリバリできちゃうんだ！
:::

ただ一方、グラフィックインターフェイスで誰でも簡単に操作できるので簡易的に実装でき解釈も容易。

RやPythonも一旦覚えてしまえばそれほど複雑ではないですが、やはりソフトウェアと比較すると敷居は高い。

ここは、<mark>データ解析に求める柔軟性と費用と相談して決めましょう。</mark>

## 統計解析に用いられるプログラミング言語

![おすすめのプログラミング言語](/wp-content/uploads/2022/11/51-1024x576.jpg)

先ほどの説明を見てやっぱりソフトウェアでは不十分だ！と思った人は是非プログラミング言語を使ってみてください！

<mark>どのプログラミング言語も無料で使えて、柔軟性が高いです。</mark>

ソフトウェアで実現できなかった複雑なロジックを実装できます。

それぞれの特徴を見ていきましょう！

### R

統計解析と言えばR。大学の研究ではひたすらRを用いていました。

世界中の人々が日々パッケージを作って共有してくれているので、<mark>簡単なコードで様々なアルゴリズムを実装することができます。</mark>

もちろん自分で0からアルゴリズムを実装することもできますよー！

一般的にはプログラミング言語では変数宣言をしなくてはいけないのですが、<mark>Rでは変数宣言がいりません。非常に簡略的にコードを書くことが可能なんです。</mark>

また描画にも強い言語で、<mark>ggplot2というパッケージを用いれば簡単に見やすいグラフィックを表現することができます。</mark>

ただ、データ解析に特化しており開発言語ではないため、Rを使ってサービスを作ることはできません。

:::talk{who="umatan"}
Rは他のプログラミング言語よりも実装が簡単なので、とりあえず統計解析してみたいー！という人にはオススメだよ！
:::

### Python

現在最も熱い言語がPython。<mark>プログラミング言語別の年収でも常に上位</mark>です。

Rと同様にデータ解析に特化していて、かつ頻繁にパッケージが開発されているので様々なアルゴリズムが簡易的に実装可能です。

Pythonには存在するけどRには存在しないアルゴリズムもいくつかあるので、<mark>最先端のアルゴリズムを実装したいならPythonを使った方が無難なイメージがあります。</mark>

また、Pythonは多くのリファレンスがあるので分からないことがあってもネットで調べれば大抵解決します。Rはそれほどまとまったリファレンスがありません・・・

そしてRと最も大きく違う点は、開発言語として使えるか否か。

Pythonは<mark>開発言語としても使えるので、アルゴリズムを回してそのままサービスローンチまで一気通貫で利用できます。</mark>

Pythonで出来ることを以下にまとめています！

<https://toukei-lab.com/python-can>

:::talk{who="umatan"}
Python使えれば仕事にはまず困らないだろうなー！データ解析からサーバーサイドまで行けるんだ！
:::

### Stan

RやPythonほど有名ではないですが、非常にディープな解析を行えるのがStan。

複雑なデータになると、<mark>簡易的な回帰ではなく複雑な分布を想定したモデル構築が必要です。</mark>

分布のパラメータにさらに分布を想定して柔軟にモデル構築を行う階層ベイズという手法があるのですが、それを実装する上ではStanが必須になってきます。

### SQL

データ分析の前手のデータ加工・集計・抽出に必要な言語！

SQLだけでも簡単な解析は可能ですが、解析自体はRやPythonに任せてしまった方がラクです！

とは言え、どんな状況でもまずはSQLが使えないとデータを分析・解析する前準備が整いません。

<mark>必ず習得しておくようにしましょう！</mark>

<https://toukei-lab.com/sql-select%E6%96%87>

:::talk{who="umatan"}
Pythonと一緒に使えるようになるととっても便利！
:::

## それぞれのプログラミング言語をどのように勉強するか

![プログラミング言語の勉強方法](/wp-content/uploads/2022/11/52-1024x576.jpg)

さて、それぞれのプログラミング言語の特徴が分かったところで<mark>それらをどのように勉強していけばよいのでしょうか？</mark>

### R

Rって<mark>意外と分からないことを調べてもネットに落ちていないことが多い</mark>んですねー。

RtipsというサイトでRについて体系的にまとまっているのでそちらを参照すると良いでしょう。

また、**Rstudio**というR用の統合開発環境が提供されており、<mark>非常に便利なので使ってみることをオススメします。</mark>

Rはプログラミング学習講座などでもなかなか扱われていないため、手を動かしながらRtips等で調べて勉強していきましょう。

Rを勉強する本としてはこちらがオススメです！

::product[Rによるやさしい統計学]{url="https://www.amazon.co.jp/dp/4274067106?tag=statistic08-22&linkCode=ogi&th=1&psc=1" image="https://m.media-amazon.com/images/I/412G0HB7AnL._SL160_.jpg" amazon="https://www.amazon.co.jp/dp/4274067106?tag=statistic08-22&linkCode=ogi&th=1&psc=1" rakuten="https://af.moshimo.com/af/c/click?a_id=858168&p_id=54&pc_id=54&pl_id=616&url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2FR%25E3%2581%25AB%25E3%2582%2588%25E3%2582%258B%25E3%2582%2584%25E3%2581%2595%25E3%2581%2597%25E3%2581%2584%2F%3Ff%3D1%26grp%3Dproduct"}

Rを学べる本については以下の記事でもまとめているので是非チェックしてみてください！

<https://toukei-lab.com/%e5%8e%b3%e9%81%b810%e5%86%8a%ef%bc%81%e3%83%87%e3%83%bc%e3%82%bf%e8%a7%a3%e6%9e%90%ef%bc%88r%e3%83%bbpython%ef%bc%89%e3%81%ae%e5%8b%89%e5%bc%b7%e3%81%ab%e3%81%8a%e3%81%99%e3%81%99%e3%82%81%e3%81%aa>

### Python

Pythonを勉強する環境は多くありますが、まずPythonでできることをザっと学ぶのであれば僕が講師の以下のUdemyコースがオススメなので是非チェックしてみてください！

#### [【実践】ビジネスケースとつなげてPythonで出来ること5つを学べる3日間集中コース](https://www.udemy.com/course/python-can/?referralCode=2CBAD21040FF57199084)

[![Udemy python](/wp-content/uploads/2020/04/Udemy-me2-min-1024x554.jpg)](https://www.udemy.com/course/python-can/?referralCode=2CBAD21040FF57199084)

<table class="table">
<tbody>
<tr>
<th>【オススメ度】</th>
<td><span class="stars" role="img" aria-label="5点中5点" data-value="5"></span></td>
</tr>
<tr>
<th>【講師】</th>
<td>僕自身！今なら購入時に「NZWCLGF4BTZENY6E」という講師クーポンコードを入れると90%オフ以上の割引価格になりますのでぜひご受講ください！</td>
</tr>
<tr>
<th>【時間】</th>
<td><span>3.5時間</span></td>
</tr>
<tr>
<th>【レベル】</th>
<td><span>初級～中級</span></td>
</tr>
</tbody>
</table>

Pythonで出来ることのうち以下の5つを網羅して学んでいきます。

:::box
**・データ集計・加工・描画**\
**・機械学習を使ったモデル構築**\
**・Webスクレイピング**\
**・APIの利用**\
**・Webアプリケーション開発**
:::

データ集計・加工・描画と機械学習モデル構築に関しては[Kaggle](/kaggle)というデータ分析コンペティションのWalmartの小売データを扱いながら学んでいきます。

[Webスクレイピング](/python-scraping)とAPI利用と[Webアプリケーション開発](/python-webapp)に関しては、楽天の在庫情報を取得してSlackに自動で通知するWebアプリケーションを作成して学んでいきます。

Pythonで何ができるのか知りたい！という方には一番はじめにまず受けていただきたいコースです！

:::talk{who="umatan"}
今なら購入時に「NZWCLGF4BTZENY6E」という講師クーポンコードを入れると90%オフ以上の割引価格になりますのでぜひご受講ください！
:::

::button[このコースを見てみる]{href="https://www.udemy.com/course/python-can/?referralCode=2CBAD21040FF57199084" note="＼30日以内なら返金無料／"}

また、データサイエンスをより詳しく学びたいのであれば以下のUdemyコースもオススメです！

#### [【初学者向け】データ分析コンペで楽しみながら学べるPython×データ分析講座](https://www.udemy.com/course/python-data/?referralCode=06466D9A805A034B1A97)

[![Udemy-course](/wp-content/uploads/2020/04/Udemy-me-min-1024x543.jpg)](https://www.udemy.com/course/python-data/?referralCode=06466D9A805A034B1A97)

<table class="table">
<tbody>
<tr>
<th>【オススメ度】</th>
<td><span class="stars" role="img" aria-label="5点中5点" data-value="5"></span></td>
</tr>
<tr>
<th>【講師】</th>
<td><span>僕自身！今なら購入時に「NZWCLGF4BTZENY6E」という講師クーポンコードを入れると90%オフ以上の割引価格になりますのでぜひご受講ください！</span></td>
</tr>
<tr>
<th>【時間】</th>
<td><span>4時間</span></td>
</tr>
<tr>
<th>【レベル】</th>
<td><span>初級～中級</span></td>
</tr>
</tbody>
</table>

僕自身がUdemyの色んなコースを受けてみた中で、<mark>他のコースにはないこんなコースあったらいいなみたいなコースを作ってみました。</mark>

このコースは、**なかなか勉強する時間がないという方に向けてコンパクトに分かりやすく必要最低限の時間で重要なエッセンスを学び取れるように**作成しています。

**アニメーションを使った概要編**と**ハンズオン形式で進む実践編**に分かれており、概要編では体系的にデータ分析・機械学習導入の文脈でまとめています。

データサイエンスの基礎について基本のキから学びつつ、なるべく堅苦しい説明は抜きにしてイメージを掴んでいきます。

統計学・機械学習の基本的な内容を学び各手法の詳細についてもなるべく概念的に分かりやすく理解できるように学んでいきます。

そしてデータ分析の流れについては実務に即した[CRISP-DM](/crisp-dm)というフレームワークに沿って体系的に学んでいきます！

データ分析というと機械学習でモデル構築する部分にスポットがあたりがちですが、それ以外の工程についてもしっかりおさえておきましょう！

続いて実践編ではデータコンペの中古マンションのデータを題材にして、実際に手を動かしながら機械学習手法を実装していきます。

ここでは、探索的にデータを見ていきながらデータを加工し、その上で[Light gbm](/light-gbm) という機械学習手法を使ってモデル構築までおこなっていきます。

是非興味のある方は受講してみてください！

:::talk{who="umatan"}
今なら購入時に「NZWCLGF4BTZENY6E」という講師クーポンコードを入れると90%オフ以上の割引価格になりますのでぜひご受講ください！
:::

::button[このコースを見てみる]{href="https://www.udemy.com/course/python-data/?referralCode=06466D9A805A034B1A97" note="＼30日以内なら返金無料／"}

ただUdemyは良くも悪くも自分の完全独学なので、<mark>モチベーション続かないなーという人はプログラミングスクールに通うのがオススメ！</mark>

色々プログラミングスクールはありますが、Pythonやデータサイエンスを学ぶなら、圧倒的に当メディアが運営する「[スタアカ（スタビジアカデミー）](https://toukei-lab.com/achademy/)」がオススメです！

#### [スタアカ（スタビジアカデミー）](https://toukei-lab.com/achademy/)

[![スタアカ（スタビジアカデミー）のトップページ](/wp-content/uploads/2026/10/achademy-top.jpg)](https://toukei-lab.com/achademy/)

公式サイト：<https://toukei-lab.com/achademy/>

<table class="table">
<tbody>
<tr>
<th>【価格】</th>
<td>ライトプラン：1,280円/月（全コースが受講し放題）<br>
プレミアムプラン：129,800円（通常149,800円・買い切り）</td>
</tr>
<tr>
<th>【オススメ度】</th>
<td><span class="stars" role="img" aria-label="5点中5点" data-value="5"></span></td>
</tr>
<tr>
<th>【サポート体制】</th>
<td><span class="stars" role="img" aria-label="5点中4点" data-value="4"></span></td>
</tr>
<tr>
<th>【受講形式】</th>
<td>オンライン形式</td>
</tr>
<tr>
<th>【学習範囲】</th>
<td>統計学・機械学習・ディープラーニングを網羅的に学ぶ<br>
生成AI（LLM・RAG・プロンプトエンジニアリング）を学ぶ<br>
SQLとPythonを組み合わせて実データを使った様々なワークを行う<br>
実践的なビジネスフレームワークを学ぶ<br>
マーケティングの実行プラン策定</td>
</tr>
</tbody>
</table>

データサイエンティストとしての自分の経験をふまえてエッセンスを詰め込んだのがこちらのスタビジアカデミー、略して「[スタアカ](https://toukei-lab.com/achademy/)」！！

当メディアが運営するスクールです。

月額1,280円のライトプランで、統計学から機械学習・生成AIまで全コースが受講し放題です！

<mark>プレミアムプランでは、24時間以内の質問対応と現役データサイエンティストとの1on1（30分×4回）を実施します！</mark>

カリキュラム自体は、他のスクールと比較して圧倒的に良い自信があるのでぜひ受講してみてください！

他のスクールのカリキュラムはPythonでの機械学習実装だけに焦点が当たっているものが多く、実務に即した内容になっていないものが多いです。

<mark>そんな課題感に対して、実務で使うことの多いSQLや機械学習のビジネス導入プロセスの理解なども合わせて学べるボリューム満点のコース</mark>になっています！

ウォルマートのデータを使って商品の予測分析をしたり、実務で使うことの多いGoogleプロダクトのBigQueryを使って投球分析をしたり、データサイエンティストに必要なビジネス・マーケティングの基礎を学んでマーケティングプランを作ってもらったりする盛りだくさんの内容になってます！

:::box
**・BigQuery上でSQL、Google Colab上でPythonを使い野球の投球分析**\
**・世界最大手小売企業のウォルマートの実データを用いた需要予測**\
**・ビジネス・マーケティングの基礎を学んで実際の企業を題材にしたマーケティングプランの策定**\
**・生成AIのAPIを使ってチャットボットやAIエージェントを作る**
:::

::button[スタアカの受講はこちら]{href="https://toukei-lab.com/achademy/" note="＼今すぐ試す／"}

他のプログラミングスクールと比較して圧倒的な価格の安さとカリキュラムの質の高さが売りです！

PythonはGoogleで調べると様々なリファレンスが出てくるので、調べながら手を動かしてみると近いが早いです。

ちなみに当サイト【スタビジ】では、Pythonを勉強するためのロードマップを以下の記事でまとめていますのでこちらも参考にしてみてください。

<https://toukei-lab.com/python-learn>

### Stan

Stanは、なかなか体系的に勉強するのが難しいんです。

こちらの書籍が非常に分かりやすいのでオススメです！

Rをある程度理解できていればこの書籍を読むことでStanの実装もできるかと思います。

::product[StanとRでベイズ統計モデリング (Wonderful R)]{url="https://www.amazon.co.jp/dp/4320112423?tag=statistic08-22&linkCode=ogi&th=1&psc=1" image="https://m.media-amazon.com/images/I/416xdqDozvL._SL160_.jpg" amazon="https://www.amazon.co.jp/dp/4320112423?tag=statistic08-22&linkCode=ogi&th=1&psc=1" rakuten="https://af.moshimo.com/af/c/click?a_id=858168&p_id=54&pc_id=54&pl_id=616&url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2FStan%25E3%2581%25A8R%25E3%2581%25A7%25E3%2583%2599%25E3%2582%25A4%25E3%2582%25BA%25E7%25B5%25B1%25E8%25A8%2588%25E3%2583%25A2%25E3%2583%2587%25E3%2583%25AA%25E3%2583%25B3%25E3%2582%25B0%2F%3Ff%3D1%26grp%3Dproduct"}

Stanを勉強する上でのオススメ本は以下にまとめていますので良ければご覧ください！

<https://toukei-lab.com/stan>

また、Python×Stanで学びたいなら以下のUdemy講座がオススメ！

[**【PythonとStanで学ぶ】仕組みが分かるベイズ統計学入門**](https://trk.udemy.com/N9qrr2)

[![Udemy　コース　PythonとStan](/wp-content/uploads/2020/04/udemy-python9-min.jpg)](https://trk.udemy.com/N9qrr2)

<table class="table">
<tbody>
<tr>
<th>【オススメ度】</th>
<td><span class="stars" role="img" aria-label="5点中4点" data-value="4"></span></td>
</tr>
<tr>
<th>【講師】</th>
<td><span>企業の研究者・開発者</span></td>
</tr>
<tr>
<th>【時間】</th>
<td><span>11.5時間</span></td>
</tr>
<tr>
<th>【レベル】</th>
<td>中級～上級</td>
</tr>
</tbody>
</table>

Python×Stanで実装を行いながら、複雑な[統計モデリング](/statistical-model)や[ベイズ統計学](/bayes)を学んでいきます。

僕自身、<mark>大学院時代ベイジアンだったのですがベイズ統計学って奥が深くて難しいくせに教材が少ないんですよー！！</mark>

基本的な<mark>ベイズの知識から階層ベイズさらに状態空間モデルまで広範に学ぶことができます。</mark>

ベイズの領域で理解に苦しむMCMCの分野も概念とPythonでの実装を同時に行ってくれるので非常に分かりやすい！

なかなかPython×Stanが学べる教材ないので、なんならこれくらいしかないです。Stanが学べる教材って本当に貴重なんですよー！

::button[このコースを見てみる]{href="https://trk.udemy.com/N9qrr2" note="＼30日以内なら返金無料／"}

### SQL

SQLは分析屋だけでなくデータベース屋さんなども使用する言語で、幅広く使われています。

そのため**リファレンスが豊富**で、ネットで調べるだけで様々な情報にアクセスすることが可能！

記法も複雑ではなく、習得しやすいので是非早めに学習しておきましょう！

個人的には以下の書籍が分かりやすく練習問題も豊富でオススメです！

::product[スッキリわかるSQL入門 第2版 ドリル222問付き! (スッキリシリーズ)]{url="https://www.amazon.co.jp/dp/4295005096?tag=statistic08-22&linkCode=ogi&th=1&psc=1" image="https://m.media-amazon.com/images/I/51Wj-FeLE2L._SL160_.jpg" amazon="https://www.amazon.co.jp/dp/4295005096?tag=statistic08-22&linkCode=ogi&th=1&psc=1" rakuten="https://af.moshimo.com/af/c/click?a_id=858168&p_id=54&pc_id=54&pl_id=616&url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2FSQL%2F%3Ff%3D1%26grp%3Dproduct"}

これ1冊やれば、後は実践で大丈夫かなーという感じです。

先ほど紹介した当メディア運営の「**[スタアカ（スタビジアカデミー）](https://toukei-lab.com/achademy/)**」では、「[SQLをしっかり学ぶコース](https://toukei-lab.com/achademy/courses/sql/)」も存在するので是非チェックしてみてください！

GoogleのBigQueryというサービスを使って実データ分析していきます！

以下の記事でSQLのおすすめ勉強法についてまとめています！

<https://toukei-lab.com/sql%E3%82%AA%E3%82%B9%E3%82%B9%E3%83%A1%E6%9C%AC>

## まとめ

本記事では、<mark>ソフトウェアとプログラミング言語の違い、プログラミング言語（R/Python/Stan/SQL）の違いと勉強法</mark>についてまとめました！

もし現在SPSSなどのツールを使っていて、限界を感じているもしくは費用が高いと感じている人は、<mark>是非プログラミング言語を使ってみてください！</mark>

しかしプログラミングは勉強方法が分かっても勉強を続けるのは忍耐力がいります。

こちらの記事でプログラミング学習に挫折しない方法をまとめていますので良ければご覧ください！

<https://toukei-lab.com/programming-keepstudy>

少しでも参考になれば幸いです。

:::talk{who="umatan"}
プログラミングを駆使して統計解析をブーストさせよう！
:::

プログラミングと合わせて統計学や機械学習の理論も学んでおくことをオススメします！

以下の記事で勉強法についてもまとめていますので合わせてチェックしてみてください！

<https://toukei-lab.com/statistics-freshman>

<https://toukei-lab.com/machine-learning-study>