English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

因子R

Les facteurs sont utilisés pour stocker des types de données de catégories différentes, par exemple, le sexe des personnes peut être homme et femme, et l'âge peut être divisé en mineurs et adultes.

R Language crée des facteurs en utilisant la fonction factor(), le vecteur en tant que paramètre d'entrée.

Format de syntaxe de la fonction factor() :

factor(x = character(), levels, labels = levels,
       exclude = NA, ordered = is.ordered(x), nmax = NA)

参数说明:

  • x : vecteur.

  • levels : valeurs des niveaux spécifiées, par défaut déterminées par les différentes valeurs de x.

  • labels : étiquettes des niveaux, utilisées par défaut les chaînes correspondantes des valeurs des niveaux.

  • exclude : caractères à exclure.

  • ordered : valeur logique, utilisée pour spécifier si les niveaux sont ordonnés.

  • nmax : nombre maximum de niveaux.

Voici un exemple de conversion d'un vecteur de caractères en facteur :

x <- c("男", "女", "男", "男", "女")
sex <- factor(x)
print(sex)
print(is.factor(sex))

执行以上代码输出结果为:

[1] Homme Femme Homme Homme Femme
Levels: 男 女
[1] TRUE

Voici un exemple de configuration des niveaux de facteur en c('男','女') :

x <- c("男", "女", "男", "男", "女", levels=c('男','女'))
sex <- factor(x)
print(sex)
print(is.factor(sex))

执行以上代码输出结果为:

levels1 levels2 
Homme...Femme...Homme...Homme...Femme...Homme...Femme 
Levels: 男 女
[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] female male female female male  
Levels: female < male

生成因子水平

我们可以使用gl()函数来生成因子水平,语法格式如下:

gl(n, k, length = n*k, labels = seq_len(n), ordered = FALSE)

参数说明:

  • n: 设置level的个数

  • k: 设置每个level重复的次数

  • length: 设置长度

  • labels: 设置level的值

  • ordered: 设置是否level是排列好顺序的,布尔值。

v <- gl(3, 4, labels = c("Google", "w3codebox,"Taobao"
print(v)

执行以上代码输出结果为:

 [1] Google Google Google Google w3codebox w3codebox w3codebox w3codebox Taobao Taobao
[11] Taobao Taobao
Levels: Google w3codebox Taobao