Comment utiliser la fonction make.names dans R (avec exemples)



Vous pouvez utiliser la fonction make.names dans R pour créer des noms syntaxiquement valides à partir de vecteurs de caractères.

Cette fonction utilise la syntaxe de base suivante :

make.names(names, unique = FALSE)

où:

  • noms : vecteur de caractères à contraindre à des noms syntaxiquement valides.
  • unique : s’il faut ou non créer des noms uniques. La valeur par défaut est FALSE.

Les exemples suivants montrent comment utiliser cette fonction dans différents scénarios.

Exemple 1 : Créer des noms valides pour le vecteur

Supposons que nous ayons le vecteur de valeurs numériques suivant :

#create vector of numeric values
numeric_values <- c(1, 1, 4, 7, 8)

#create syntactically valid names from numeric values
make.names(numeric_values)

[1] "X1" "X1" "X4" "X7" "X8"

R définit les « noms valides » comme des noms commençant par un caractère ou un point.

Ainsi, pour convertir chacune des valeurs numériques du vecteur en un nom valide, R ajoute simplement un « X » devant chaque valeur.

Notez que deux des noms (« X1 ») sont exactement identiques.

Pour forcer les noms à être uniques, nous pouvons spécifier unique=TRUE :

#create vector of numeric values
numeric_values <- c(1, 1, 4, 7, 8)

#create syntactically valid names from numeric values
make.names(numeric_values, unique=TRUE)

[1] "X1"   "X1.1" "X4"   "X7"   "X8"

Notez que chaque nom est désormais unique.

Exemple 2 : Créer des noms valides pour Matrix

Supposons que nous ayons la matrice suivante dans R :

#create matrix
mat <- matrix(c(1, 2, 3, 7, 2, 4, 4, 6, 0, 1), ncol=2)

#view matrix
mat

     [,1] [,2]
[1,]    1    4
[2,]    2    4
[3,]    3    6
[4,]    7    0
[5,]    2    1

#view column names of matrix
colnames(mat)

NULL

Notez que la matrice n’a actuellement aucun nom de colonne.

Cependant, nous pouvons utiliser la fonction make.names() pour créer rapidement des noms de colonnes :

#create column names for matrix
colnames(mat) <- make.names(1:ncol(mat))

#view updated matrix
mat

     X1 X2
[1,]  1  4
[2,]  2  4
[3,]  3  6
[4,]  7  0
[5,]  2  1

Notez que la matrice a désormais « X1 » et « X2 » comme noms de colonnes.

Si nous le souhaitons, nous pouvons maintenant extraire les valeurs d’une colonne spécifique de la matrice en utilisant le nom de la colonne :

#view values in "X1" column of matrix
mat[, 'X1']

[1] 1 2 3 7 2

Notez également que vous pouvez taper ce qui suit dans R pour lire la documentation complète sur la façon de créer des noms syntaxiquement valides :

?make.names

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans R :

Comment changer les noms de lignes dans R
Comment parcourir les noms de colonnes dans R
Comment utiliser la fonction de noms dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *