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

ちょっと次の予定があるので今日はここまで。