Rを使ってみる
とある理由により、個人的にR(統計解析ソフトウェア)のスキルをつけていこうと思っています。ちなみに大学ではRを使ったことがほとんど無い。
Rの本は「統計解析の専門家」や「業務で統計が必要な人」向けに書かれたものが多いようで、「ITエンジニア」や「確率・統計などを、ツールとしてではなく、純粋な数学としてしか見る機会がなかった人」(←私はその両方の属性を持つ)から見ると、記法や様々な解説書の内容とっつきにくい(自分の分野の言語で書かれていない)気がするので、今日知ったことについて、そのような分野の人の言葉でいくつか書いていくと…
- ベクトル
c(要素1, 要素2, ...)で列ベクトルを作成
> a <- c(1,2,3) > a [1] 1 2 3
ちなみに、添字は1スタート(CやJavaのように0スタートではない)。
> a[2] [1] 2
- 論理値型
boolean型に相当するものはRにも存在して、TRUEおよびFALSE(すべて大文字)。また、それぞれTおよびFでも代用できる。
T [1] TRUE > F [1] FALSE
- データフレーム
列ベクトル(?)をまとめたもの。各列で異なるデータ型でも良い。Excelの表で作ったデータのイメージ。
summary(データフレーム)で、各列のサマリ(数値なら統計値、文字なら頻度、など)が表示される。
> y = data.frame(ID = c(.1,.2,.3, 4, 5), char = letters[6:10]) > y ID char 1 0.1 f 2 0.2 g 3 0.3 h 4 4.0 i 5 5.0 j > summary(y) ID char Min. :0.10 f:1 1st Qu.:0.20 g:1 Median :0.30 h:1 Mean :1.92 i:1 3rd Qu.:4.00 j:1 Max. :5.00
データフレーム名$列名 で、当該列のみ取り出すことが可能。ちなみに列名は大文字小文字を区別する。
> y$char [1] f g h i j Levels: f g h i j > y$ID [1] 0.1 0.2 0.3 4.0 5.0 > y$id
- 行列
もちろんmatrixのこと。データ型はすべての要素で同じである必要がある。
ちなみにmatrix関数(?)の1つ目の要素として渡した値が、列方向に格納される。この辺はFORTRANと同じ要領(Cなどの二次元配列をイメージすると、人によっては感覚が異なると感じるかもしれない)。
> (m <- matrix(1:9, ncol = 3)) [,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 9
ちょっと次の予定があるので今日はここまで。