Menu
CoddyTech

Vecteurs nommés

Fait partie de la section Fondamentaux du Journey R de Coddy. Leçon 62 sur 78.

Jusqu’à présent, vous avez accédé aux éléments des vecteurs à l’aide de positions numériques. Mais si vous pouviez y accéder à l’aide de noms significatifs ? Les vecteurs nommés vous permettent d’attribuer des étiquettes à chaque élément, ce qui rend votre code plus lisible et explicite.

Vous pouvez créer un vecteur nommé en fournissant des noms lors de sa création :

ages <- c(alice = 25, bob = 30, charlie = 28)
print(ages)

Sortie :

  alice     bob charlie 
     25      30      28

Pour accéder aux éléments par leur nom, utilisez le nom sous forme de chaîne entre crochets :

print(ages["bob"])

Sortie :

bob 
 30

Vous pouvez également ajouter des noms à un vecteur existant à l’aide de la fonction names() :

scores <- c(85, 92, 78)
names(scores) <- c("math", "science", "english")
print(scores["math"])

Sortie :

math 
  85

Les vecteurs nommés sont particulièrement utiles lorsque vous travaillez avec des données qui possèdent des étiquettes naturelles, comme pour stocker les notes des étudiants par matière ou les prix par nom de produit.

challenge icon

Défi

Facile

Vous recevrez deux lignes d’entrée :

  1. Une liste de noms de produits séparés par des virgules (par ex., laptop,phone,tablet,headphones)
  2. Une liste de prix correspondants séparés par des virgules (par ex., 999,699,449,199)

Effectuez les opérations suivantes :

  1. Créez un vecteur numérique à partir des prix
  2. Attribuez les noms des produits au vecteur à l’aide de la fonction names()
  3. Affichez l’intégralité du vecteur nommé
  4. Affichez le prix du deuxième produit en y accédant à l’aide de son nom
  5. Affichez le prix du dernier produit en y accédant à l’aide de son nom

Par exemple, si les entrées sont :

apple,banana,orange,grape
2,1,3,4

La sortie devrait être :

apple banana orange  grape 
    2      1      3      4 
banana 
     1 
grape 
    4

Remarque : accédez aux deuxième et dernier éléments en utilisant un nom comme indice (une chaîne de caractères, par exemple prices["banana"]), et non une position numérique. Les noms proviennent de la première ligne d’entrée ; recherchez-y donc d’abord le nom correct.

Essayez vous-même

# Lire l'entrée
con <- file("stdin", "r")
products_input <- suppressWarnings(readLines(con, n = 1))
prices_input <- suppressWarnings(readLines(con, n = 1))
close(con)

# Analyser les entrées séparées par des virgules
product_names <- strsplit(products_input, ",")[[1]]
price_values <- strsplit(prices_input, ",")[[1]]

# TODO: Écrivez votre code ci-dessous
# 1. Créer un vecteur numérique à partir des prix
# 2. Assigner les noms des produits au vecteur en utilisant names()
# 3. Afficher le vecteur nommé entier
# 4. Afficher le prix du deuxième produit en y accédant par son nom
# 5. Afficher le prix du dernier produit en y accédant par son nom
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux

Entraînez-vous par vous-même : Compilateur R en ligne