初心者のためのRの超簡単な使い方
統計ソフトとして有名なものとしてSASやSPSSが上げることができますが、これはとても高価なので個人で使用するには少々、(値段の面で)荷が重いかもしれません。それに対してRというソフトウェアは無料なうえ、データ分析で役立つ数多くの関数が用意されているのでとても便利です。具体的には基本統計量を算出するための関数や検定を行うための関数、さらには様々なグラフを出力する関数などがあります。これらの機能を使うことによって、複雑な多変量解析(標準のExcelにはこのような機能はない)が簡単に行えるようになります。
Contents 1) Rのダウンロードとインストール 2) とりあえず打ち込んでみる 3) 変数へ値を代入してみる 4) 関数を使って統計量を求める 5) さらにRを使いこなすために |
|
原則としてRについての情報はすべてRjpWikiから入手します。2006.4.29日現在での最新版はR-2.3.0で、これはこちらから入手することができます(R-2.3.0-win32.exeをダウンロード)。インストールについては特に注意するべきことはありません(それでも分からない、不安だという人はこちらを参照すること)。
|
R-2.3.0を起動させると次のような画面が現れるはずです(私は背景を黒、文字色を緑に設定しているのでこのようになっています)。
この画面上にいろいろな命令を打ち込んであげるとそれに応じた計算などをしてくれるわけですが、Excelのようなマウス中心の作業をしていた人にとってはキーボードによる操作はなかなか大変なことだと思います。しかし慣れてしまえば、キーボード中心の作業の方がはるかに速くて効率的です。
では早速、何かしてみましょうか?これより先は【入力と出力】と【コードの解説】に分けて説明していきます。
【入力と出力】*赤い部分はユーザーが入力したもの、青い部分は出力結果です。
> 12 + 34 [1] 46 > 562 - 398 [1] 164 > 49 / 3 [1] 16.33333 > 23 * 10 [1] 230 > sqrt(2) [1] 1.414214 > 12^2 [1] 144 |
【コードの解説】
|
【入力と出力】
> x <- 122 > x [1] 122 > y <- -90 > y [1] -90 > z <- x * y > z [1] -10980 > t <- 10 * 20 + sqrt(12) > t [1] 203.4641 |
【コードの解説】
|
【入力と出力】
> x <- c(10, 20, 30, 40, 50) > x [1] 10 20 30 40 50 > y < -matrix(c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)) > y [,1] [1,] 1 [2,] 2 [3,] 3 [4,] 4 [5,] 5 [6,] 6 [7,] 7 [8,] 8 [9,] 9 [10,] 10 > y <- matrix(c(1,2,3,4,5,6,7,8,9,10), nrow=5, ncol=2) > y [,1] [,2] [1,] 1 6 [2,] 2 7 [3,] 3 8 [4,] 4 9 [5,] 5 10 |
【コードの解説】
|
Rは統計解析を行うための言語ですから、当然、平均や分散などといった統計量を計算するための関数が用意されています。例えば以下のデータを変数に代入して@平均、A中央値、B分散、C標準偏差、D共分散、E相関係数を求めてみましょう。注:プログラム中に書かれている#というマーク以降はコメントとみなされるので処理の対象とされません。したがって無理に入力する必要もありません。
データ1 | 12 16 11 17 13 19 20 14 19 12 17 |
データ2 | 34 47 29 44 30 41 39 34 40 29 33 |
> data1 <- c(12, 16, 11, 17, 13, 19, 20, 14, 19, 12, 17) #変数にデータを代入
> data2 <- c(34, 47, 29, 44, 30, 41, 39, 34, 40, 29, 33)
> mean(data1) #平均を求める
[1] 15.45455
> mean(data2)
[1] 36.36364
> median(data1) #中央値を求める
[1] 16
> median(data2)
[1] 34
> var(data1) #分散を求める
[1] 10.27273
> var(data2)
[1] 38.45455
> sd(data1) #標準偏差を求める
[1] 3.205110
> sd(data2)
[1] 6.201173
> var(data1,data2) #共分散を求める
[1] 13.91818
> cor(data1,data2) #相関係数を求める
[1] 0.7002704
|
ここまでで1)Rは電卓の代わりに四則演算やルートの計算ができる、2)変数にたくさんのデータをベクトルあるいは行列として代入することができる、3)関数を用いて統計量を算出することができる、ということが分かったはずです。基本的には変数へのデータの代入方法がしっかりとできていれば、あとはプログラムの書式どおりにコマンドしていけば検定や多変量解析ができるわけです。
ただこれからRをつかってデータ解析をしていくうえで、ただ書式どおりに打ち込んで返ってきた結果を見るというのも少し寂しいような気がします。どうせ使えるなら自分の好きな関数を定義してみたり、ちょっとした統計処理を助けるようなプログラムを造ってみたりしたいものです。
プログラミング言語としてはVB,C,Perl,AWKなどがありますが、これらの言語しようして統計解析するにはそれぞれの特徴を活かした使い方をするということがとても重要です。例えばExcel VBAを使うためにはセルの操作をマスターする必要があります。それと同じようにRを使用して統計解析を行うためには数多くある関数の使い方を理解するということがRを活かす使いかたであると思います(私はですがね、、、)。