R入門

R入門
Chapter 4 順序付き因子と順序無し因子
結城
隆
因子

因子・・・同じ長さを持つ別のベクトルの
要素のグループ化を指示するベクトルオ
ブジェクト
Rでは順序が付いた因子と順序のない因子の両方
を使うことができる。
因子の例
>tiiki <- c(”mit”, ”hit”, ”mit”,”hit”)
因子はfactor()関数によって作ることができ、
>tiikif <- factor(tiiki)
を行えばよい。
因子の水準を知るには、levels()関数を使う
>levels(tiikif)
[1] ”mit” “hit”
となる。
4.2関数tapply()と不ぞろい
配列
関数tapply()は次のように使われる。
tapply(a,b,mean);
とすると最初の関数[mean()]を,最初の引
数[a]の成分の,2番目の引数[b]の定義
される各グループに,あたかもそれらが
別個のベクトル構造であるかのように,
適用するのに使われる。
Tapply()関数の例
> height <- c(171,168,173,155)
を作り、tiikifとheightを用いて
> heightsum <- tapply(height, tiikif, sum)
を行うと以下のようになる。
mit
hit
244.000
223.000
結果は水準をラベルにもつ要素からなる合計のベクトルであ
る。
4.3 順序がついた因子
因
子
アルファベット
順に保管される
順序を指定した場
合は指定した順序
で保管ができる。
順序付きと順序なしの因子の違いは、順
序付きが水準の順序を示して表示される
ことにある
まとめ
因子・・・これを用いることによってベクトル
の要素のグループ化を行うことができる
Tapply()関数・・・複数のカテゴリによって分
類されたベクトルの複雑な添え字の操作
を処理できる
宿題
次のように10人の学部生がいるとし、所属研究室ごとに分け
次のように指定する。
> ken <c(”sin”,”iwa”,”sin”,”sas”,”sas”,”iwa”,”sin”,”iwa”,”sin”,”sin”)
kenの因子をfactor関数を用いてkenfを作る。
・ 次に学部生の1ヶ月の出席日数のベクトルを作る。
> attend <- c(20,23,19,14,19,18,21,20,17,22)

kenfとattendを使い、tapply()関数を用いて研究室ごとの学生
の
1ヶ月の出席日数の平均を求めよ。