English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
因子は、異なるカテゴリのデータ型を格納するために使用されます。例えば、人の性別には男と女の2つのカテゴリがあり、年齢では未成年と成人に分けることができます。
R言語で因子を作成するには factor() 関数を使用し、ベクトルを引数として指定します。
factor() 関数の構文:
factor(x = character(), levels, labels = levels, exclude = NA, ordered = is.ordered(x), nmax = NA)
パラメータ説明:
x:ベクトル。
levels:各レベル値を指定します、指定しない場合は x の異なる値から求められます。
labels:レベルのラベル、指定しない場合は各レベル値に対応する文字列を使用します。
exclude:除外する文字。
ordered:論理値、レベルが順序付きであるかを指定します。
nmax:レベルの上限数量。
以下の例では、文字型ベクトルを因子に変換しています:
x <- c("男", "女", "男", "男", "女") sex <- factor(x) print(sex) print(is.factor(sex))
以下のコードを実行すると、出力結果が:
[1] 男 女 男 男 女 レベル: 男 女 [1] TRUE
以下の例では、因子のレベルを c('男','女') に設定しています:
x <- c("男", "女", "男", "男", "女",levels=c('男','女')) sex <- factor(x) print(sex) print(is.factor(sex))
以下のコードを実行すると、出力結果が:
レベル1 レベル2 男 女 男 男 女 男 女 レベル: 男 女 [1] TRUE
次に、labels パラメータを使用して各因子レベルにラベルを追加します、labels パラメータの文字列順序は levels パラメータの文字列順序と一致する必要があります、例えば:
sex=factor(c('f','m','f','f','m'),levels=c('f','m'),labels=c('female','male'),ordered=TRUE) print(sex)
以下のコードを実行すると、出力結果が:
[1] 女性 男性 女性 女性 男性 レベル: 女性 < 男性
私たちは gl() 関数を使用して因子レベルを生成することができます、文法形式は以下の通りです:
gl(n, k, length = n*k, labels = seq_len(n), ordered = FALSE)
パラメータ説明:
n: レベルの数を設定する
k: 各レベルが繰り返される回数を設定する
length: 長さを設定する
labels: レベルの値を設定する
ordered: レベルが並べ替えられた順序であるかどうかを設定する、ボルン値。
v <- gl(3, 4, labels = c("Google", "w3codebox","Taobao")) print(v)
以下のコードを実行すると、出力結果が:
[1] Google Google Google Google w3codebox w3codebox w3codebox w3codebox 淘宝 淘宝 [11] 淘宝 淘宝 レベル: Google w3codebox 淘宝