読者です 読者をやめる 読者になる 読者になる

WonderPlanet DEVELOPER BLOG

ワンダープラネットの開発者ブログです。モバイルゲーム開発情報を発信。

統計解析ソフトウエアRを使ってみよう(導入〜初級編)

こんにちは。エンジニアの鷲見です。
近年ビッグデータという言葉を聞くようになって久しいですが、
それに伴い統計学が注目されているようです。
統計学が最強の学問である」という本も売れているようですね。
というわけで、今回は統計解析ソフトウエアのRを紹介してみようと思います。

Rとは

マルチプラットフォームに対応している統計解析ソフトウエアです
WindowsMacUnixすべてに対応しています)。
Rはフリーソフトウエアであり、無償で利用することができます。
また、CRANというネットワークにより、世界中のRユーザーが
作成したパッケージをダウンロードして使用することも出来ます。

ダウンロード・インストール

以下のサイトからダウンロードします。
http://cran.md.tsukuba.ac.jp/

インストールについてはプラットフォームで異なるため
ここでは記述しませんが、Webに情報がたくさんありますので
参考にされるとよいでしょう。

Rの基本的な使い方

Rの操作は基本的にCUIで行います。
コンソール画面の「>」の後ろに式を入力していきます。

演算

基本的な演算は一般的なプログラミング言語とほぼ同じです。
具体的には以下の通りです。

> 10 + 20  
[1] 30  
  
> 10 / 20  
[1] 0.5  
  
# -- べき乗・平方根・対数  
> 2^3 # べき乗  
[1] 8  
  
> sqrt(64) # 平方根  
[1] 8  
  
> log(exp(2)) # 自然対数  
[1] 2  
  
> log10(100) # 常用対数  
[1] 2  
  
> log(100, base=10) # 底を指定する場合  
[1] 2  

代入

プログラミング言語と同じく変数に値を代入することができます。
代入はアロー演算子で行います。

> hoge <- 100  
> hoge  
[1] 100  

複数の値をまとめて扱う

Rでは複数の値を1つのデータとして扱うことが可能です。

> height <- c(168, 172, 180, 163, 192, 170)  
> height  
168 172 180 163 192 170  

行列
行列も扱うことができます。
例えば3行2列の行列は以下のように記述します。

> m <- matrix(c(11, 12, 13, 21, 22, 23), 3, 2)  
> m  
    [,1] [,2]  
[1,]   11   21  
[2,]   12   22  
[3,]   13   23  

外部データファイルの読み込み

外部データとして保存されたデータを
読み込むことが可能です。
CSVファイルを読み込むには以下のように記述します

> hoge <- read.csv("ファイル.txt")  

関数

基本的な関数は以下の通りです。

データ数、合計、平均、分散、標準偏差、最大・最小

> length(c(1, 2, 3, 4, 5)) # データ数  
[1] 5  
  
> sum(c(1, 2, 3, 4, 5)) # 合計  
[1] 15  
  
> mean(c(1, 2, 3, 4, 5)) # 平均(avgではない)  
[1] 3  
  
> var(c(1, 2, 3, 4, 5)) # 分散(不偏分散)  
[1] 2.5  
  
> sd(c(1, 2, 3, 4, 5)) # 標準偏差  
[1] 1.581139  
  
> max(c(1, 2, 3, 4, 5)) # 最大  
[1] 5  
  
> min(c(1, 2, 3, 4, 5)) # 最小  
[1] 1  

データのヴィジュアライズ

gnuplotのようにデータを視覚的に表現することが可能です。
度数分布表

> table(c(1, 2, 1, 1, 2, 1, 2))  
  
1 2  
4 3  

ヒストグラム

> hist(c(1, 2, 3, 1, 1, 2))  

hist
散布図

> data1  data2  plot(data1, data2)  

plot

ヘルプ

コマンドがわからないときはヘルプを使用して調べることが可能です。
ヘルプは以下のように表示します。

# 関数について調べたいとき  
> help(max) # max関数について調べる  
  
# キーワードについて調べたいとき  
help.search("キーワード")  

次回はもう少しRの機能については踏み込んでみたいと思います。