Data Science by R and Python

統計学を、広く、深く、わかりやすく。

【統計の勉強をしよう!】Rの使い方 - その1

【統計の勉強をしよう!】

シリーズ第3回目は、いきなりソフトウェアを使っての、データを解析の準備がテーマです。少々ややこしい箇所もありますが、ついてきてください。今回はRをインストールするところから、簡単な計算や、統計で使うベクトルの考え方を整理しておきましょう。使用するソフトウェアはRというオープンソースです。まず、Rとは何か?からみていきましょう。

p.s.
今回、図を書いたりしたかったのですが、その前にやっておきたいことがあったので、少し回数を分けて(3回ぐらい)更新します。最後の回ではきちんと、図の書き方などを書きます。

Rとは?

Rは統計計算とグラフィックスのための言語・環境で、GNUプロジェクトの一つであり、AT&T(当時)のベル研究所*1でJohn M. Chambersと同僚により開発されたS言語・環境に似ています。
Rは多様な統計手法とグラフィックスを提供し、広汎な拡張が可能です。Rの強みの一つは、巧くデザインされた出版物並みのプロットを容易に作成できる点であり、これには必要なら数学記号や式を含めることもできます。
Wikiより引用)

簡単にいえば統計解析に特化したツールですよということです。ただし、Excelなどと違うのは、私たちが基本的にはプログラミングで操作しなくてはならないことです。ただ、難しくはありません。他の言語に比べれば「とっても」簡単です。

その一方で、様々な統計処理をコマンド1つで実行できます。例えば、このあとブログでも扱う線形回帰モデルは、glmというコマンド1つで実行できます。恐らく使い始めれば、「簡単じゃん!」ということがわかると思います。

Rをインストールしよう!

f:id:tomoshige_n:20140121012840j:plain

では、早速ですがRをパソコンにインストールしてみましょう。といっても、この方法はたくさんの人がブログに書いてくれていますので、そちらを参照していただいた方がよいとおもいます。Windowsの方は、こちらをどうぞ!

Windows : Windows で R バージョン 3.0.1 のインストール


一方Macの方は、コチラのURLにまずはアクセスしていただいて、一番上のR-3.0.2.pkgをクリックしてpkgファイルをダウンロードして、PCにインストールしてください。以上Rのセットアップは終わりです。

Mac : R for Mac OS X

そして、アプリケーションを立ち上げると、こんな画面が出るのではないでしょうか?MacとWinでは少し画面のフォントなどが異なりますが、おおよそ同じだと思います。

f:id:tomoshige_n:20140122162035p:plain

以上で、皆さんのPCには統計ソフトがインストールされたことになります。では、少し使ってみましょう。

Rの使い方

まずはRの基本操作からです。ちなみに、プログラミングの基本は「写経」だそうですから、皆さんも手を動かして打ってみましょう。ちなみにRでは"#"から始まる行はコメントといって、プログラムには関係ありません。メモで書いているので、皆さんはそれ以外の数式の部分だけ打ち込んで計算させてください。

簡単な計算
#足し算
1+2
#引き算
3-4
#かけ算
4*2
#割り算
10/5
#余りを出す
33%%4
#割ったときの答えだけだす(8あまり2ですから、8が出ますね?)
33%/%4

どうでしょうか、できましたか?このようにRは他の言語同様に計算ができます。簡単ですよね。普段皆さんが行っている計算をRでやってみても良いかもしれません。さて、次は列を作ってみましょう。

ベクトルを作成する
#ベクトルの生成
x <- c(1,3,2,5)
#ベクトルの表示
x

これで、x=(1,3,2,5)というベクトルが生成されました。ちなみに"<-"の記号は右のものを左に付値するという意味です。なので、左を右に代入しているのです。この記号は"="でも同じです。

ベクトルの長さは?

さて、ベクトルにはいくつの要素があるのかを知りたいこともありますよね。そういうときには、このコマンドを使いましょう。

#ベクトルの長さ
length(x)

答えは、4つの要素が入っていますから、4と返ってきますよね?次はベクトル同士の足し算です。

ベクトルの足し算

足し算なので2つ要素が必要です。そこで、yというベクトルを作りましょう。

#ベクトルyを作る
y=c(1,2,3,4)
#足し算する
x+y

さて、結果はどうなりましたか?(2,5,5,9)となりましたね?。これがベクトルの足し算です。高校2年生の数学Bでやったように、ベクトルは要素番号モノ同士をたすのでした。では、xとyのベクトルの長さが違えばどうなるでしょう?

長さの違うベクトルの足し算
#ベクトルzを作る
z=c(1,2,3)
#足し算する
x+z

警告メッセージ: 
In x + z :
   長いオブジェクトの長さが短いオブジェクトの長さの倍数になっていません 

警告メッセージが返ってきました。このように、長さの違うベクトル同士は足せません。これも数学Bでやった知識です。

ベクトルの使い道

では、こんなベクトルなんてものをどこで使うのでしょうか?例として、40人に5教科のテストを実施したと考えましょう。すると、そこには40人×5教科分のテストの点数のデータができることになります。こんな風に。
f:id:tomoshige_n:20140122174159p:plain

この各行(横に見る)が各人の5教科の点数です。これはベクトルですよね。一方で、縦に見れば、数学の点数はどのようになっているのかをみることができます。数学は40個の要素のあるベクトルです。このようにデータを行や列毎に扱いたい場合にはベクトルが必要になります。しかも統計ではこのように行毎、列毎の操作が多いです。なので、ベクトルは必ず覚えておいてください。

作った変数を見る

さて、いまx,y,zという変数を作成しました。でも、この数が多くなってくるとお分かりの通り、どんなもの作ったんだっけ?となります。それを確認する方法を見ましょう。また、それを消す方法も覚えてください。

#全ての変数を確認
ls()
#特定の変数(x)を消す
rm(x)
#再度変数を確認
ls()

これで、xは消えていますね?では、作った変数を全部消したいときはどうすればいいでしょう?

#全部の変数を消す
rm(list=ls())
#確認する
ls()

とすれば全ての変数が消えているのがわかります。さて、ここまでがベクトルの操作です。

複雑な計算操作をしておこう

さて、データを扱っているとどうしても2乗したり、平方根を取ったりしたくなります。平方根が怪しい方は中学3年生の内容なのでwebで調べて確認しておいてください(2乗して、その数になるようなものをある数の平方根といいます。9の平方根は+3,-3です)。ちなみに、マイナスの数に平方根は存在せず、虚数になります。では、平方根を求めましょう。ちなみに、Rでは求める平方根は正のものだけです。

#9の平方根
sqrt(9)
#5の平方根
sqrt(5)
#3の2乗(乗算では2つ*がいります)
3**2

となります。覚えておいてください。

今回のまとめ

今回は、「単純な計算」「ベクトル操作」「変数の確認」「乗算・平方根」を扱いました。これらは、統計解析をしていく上では、とても大事になってきます。是非身に付けてください。

次回は?

次回は、ベクトルから「行列の操作」、「平均と分散」についてお話しします。


それでは、読んでいただきありがとうございました。
次回もよろしくお願いします。