Fonction match() de R - Correspondance d'éléments

R 语言实例Exemples du langage R

La fonction match() de R est utilisée pour trouver la position de la première occurrence d'éléments d'un vecteur dans un autre vecteur.

match() est similaire à l'opérateur %in%, mais renvoie des positions plutôt que des valeurs logiques.

La syntaxe de la fonction match() est la suivante :

match(x, table, nomatch = NA_integer_)

Description des paramètres :

  • xLe vecteur des éléments à rechercher.

  • tableLe vecteur cible dans lequel effectuer la recherche.

  • nomatchLa valeur renvoyée lorsque la correspondance échoue, par défaut NA.

Exemples

# Trouver les positions des éléments
fruits <- c("pomme", "banane", "orange", "grape", "watermelon")
wanted <- c("banana", "watermelon", "lemon")

# Trouver les positions des éléments de wanted dans fruits
positions <- match(wanted, fruits)
print("Résultats correspondants :")
print(positions)

# Recherche correspondante : utiliser positions pour obtenir les valeurs réelles
print("Fruits trouvés :")
print(fruits[positions[!is.na(positions)]])

L'exécution du code ci-dessus produit la sortie suivante :

[1] "匹配结果:"
[1]  2  5 NA
[1] "找到的水果:"
[1] "香蕉" "西瓜"

match() est souvent utilisé pour réordonner un autre jeu de données en fonction d'un vecteur :

Exemples

# Tableau des notes des étudiants
student_names <- c("Zhang San", "Li Si", "Wang Wu", "Zhao Liu")
scores <- c(88, 92, 76, 85)
names(scores) <- student_names

# Organiser les notes dans un ordre spécifique
wanted_order <- c("Wang Wu", "Zhao Liu", "Zhang San", "Li Si")
idx <- match(wanted_order, names(scores))
print("Notes classées dans l'ordre spécifié :")
print(scores[idx])

L'exécution du code ci-dessus produit la sortie suivante :

[1] "按指定顺序排列的成绩:"
王五 赵六 张三 李四
 76   85   88   92

R 语言实例Exemples du langage R

Autres extensions