R – 因子型(Factor型)

準備

以下のように文字列型のベクトルを準備。

因子型への変換

factor()関数を使って因子型へ返還。このとき因子の順番はシステムで自動的に割り振られ、ソートするとその順番で並べ替えられる。

因子を指定した要素の抽出

要素の抽出は因子のラベルを指定して行う。
因子のオーダでの指定はできない。

因子の順序の指定

factor()関数のlevels指定で明示的に因子の順序を指定できる。

因子の大小関係の指定

上記のベクトルyやzの各因子は順序関係を持っているが、それらは順序については特定できるが大小判定は行えない。

大小判定可能な値とするにはordered()関数を通す必要がある。

Factorベクトルの新規生成

一つ目の要素を定義する場合

通常紹介されている方法は、文字列型などのベクトルがあらかじめ準備されていて、それをFactor型に変換するというもの。

一つ目の要素を定義して、以降付け足していきたい場合は以下のようにする。

またlevelsを指定しないと、初期値以外はNAとなって警告が出る。

またlevelsで指定した以外のラベルを指定するとNAとなり、最初の要素は無視され、その後追加しようとした要素はNAとして保存される。

要素数ゼロから定義する場合

最初からFactor型のベクトルを定義してゼロから要素を追加するには、以下のようにするとよい。

下記の例では、factor()関数の第1引数に仮のベクトルをnumeric(0)で与えているが、character(0)でも同じ結果となり、単なるプレースホルダとなっているらしい。

データフレーム生成の場合の因子化について

データフレーム生成時に、文字列型ベクトルが自動的に因子型に変換される。これを抑止する方法についてはこちらを参照。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です