R


オブジェクト

ここからが本番です。今までの部分は、まあおまけみたいなものですね。
さて、Rにおいて「オブジェクト」というものは「関数オブジェクト」と「データオブジェクト」に分けることができます。
関数オブジェクトは、データ処理・解析のプログラムセットで、
データオブジェクトはデータのセットです。
複数の関数オブジェクトがリンクしているオブジェクトのグループをクラスと呼び、
オブジェクトの集合体をパッケージと呼びます。
パッケージにはデータオブジェクトが同梱されているものもあります。

データオブジェクトの例

データを扱うには何かしらの方法でデータを入力しなくてはなりません。 次のようにcを使うことでデータを結合(combine)することができます。これを用いて、 データ1, 2, 3, 4の集合というデータオブジェクトの例を示します。

> c(1, 2, 3, 4) [1] 1 2 3 4

代入

データオブジェクトを作っても、保存しておかなければ処理するのに不便なので、 変数に代入しましょう。

> Z <- c(1, 2, 3, 4) > Z [1] 1 2 3 4

代入

データオブジェクトを作っても、保存しておかなければ処理するのに不便なので、 変数に代入しましょう。

> Z <- c(1, 2, 3, 4) > Z [1] 1 2 3 4

基本的な処理

作ったオブジェクトに対して基本的な処理を加えてみましょう。

平均

集合の平均を求めます。

> mean(Z) [1] 2.5

丸め平均

誤差が最小になるようにJIS, ISO方式で平均値を丸めます。

> round(mean(Z)) [1] 2

2乗

各要素について2乗します。

> Z^2 [1] 1 4 9 16

関数

自作の関数を作る方法を簡単に説明します。 関数とは〜 という定義はおいといて、定型処理をまとめるものです。
関数の例その1を次に示します。

> func1<-function(x){ return(1:x) } > func1(10) [1] 1 2 3 4 5 6 7 8 9 10

func1は1からx(入力)までのベクトルを返す関数です。 関数はコンソールで入力して間違うと面倒なので、エディタに打ち込んで、コピペするのが 良いと思います。
もうひとつ例を示しましょう。

> func2<-function(x){ s<-sum(x) m<-mean(x) return(list(sum_x=s, mean_x=m)) } > func2(c(1, 3, 5, 7)) $sum_x [1] 16 $mean_x [1] 4

今回は名前付き(リスト形式)で複数の要素を返しました。
要素の合計はfunc2$sum_xで、平均はfunc2$mean_xです。

基本文

繰り返し文

繰り返し文はその名のとおり、同じ作業の繰り返しを行う際に用います。
ここではfor文について述べます。
for文は、変数を用いて繰り返し回数を指示するもので、書式は次のようになります。

for(変数 in 開始:終了){ 処理 }

これを使った例を示します。
次の例は、1〜1000までを合計した数を求めます。
これはiを1〜1000まで変化させて、それを加算することで行っています。

> t<-0 > for(i in 1:1000)t<-t+i > t [1] 500500

条件分岐

その名のとおり、条件により処理を分岐させる構文です。書式は次のようになります。

if(条件式) 処理1 else 処理2

条件式が真なら処理1を、偽なら処理2を行います。条件式については後に扱います。

整理

今回はオブジェクトは関数とデータオブジェクトに分けられるということを言いました。 そして、データオブジェクトの例と簡単な関数作り方、基本文について述べました。
次は、パッケージの操作について簡単に述べ、その次の回でデータの入出力と編集について述べる予定です。
データの入力は解析・マイニングの第一歩であり、重要なものです。
しばらく関係ないので、パッケージについては飛ばしても結構です。


プログラムに戻る