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 28Pour accéder aux éléments par leur nom, utilisez le nom sous forme de chaîne entre crochets :
print(ages["bob"])Sortie :
bob
30Vous 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
85Les 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.
Défi
FacileVous recevrez deux lignes d’entrée :
- Une liste de noms de produits séparés par des virgules (par ex.,
laptop,phone,tablet,headphones) - Une liste de prix correspondants séparés par des virgules (par ex.,
999,699,449,199)
Effectuez les opérations suivantes :
- Créez un vecteur numérique à partir des prix
- Attribuez les noms des produits au vecteur à l’aide de la fonction
names() - Affichez l’intégralité du vecteur nommé
- Affichez le prix du deuxième produit en y accédant à l’aide de son nom
- 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,4La sortie devrait être :
apple banana orange grape
2 1 3 4
banana
1
grape
4Remarque : 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 nomCette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs - Partie 2
Opérateurs logiques (AND, OR)Opérateurs logiques - Partie 2 (NOT)Récapitulatif - Logique simpleLogique vectorisée - Partie 1Logique vectorisée - Partie 27Calculateur de partage d'addition
Message de bienvenueRécupérer la saisie utilisateur10FizzBuzz avec une variante
Présentation du jeuLa fonction FizzBuzz2Variables et types de données
Type de données numériqueType de données entierType de données caractèreType de données logiqueVérification des types de donnéesConventions de nommageValeurs manquantes : NARécapitulatif - Création de variables8Boucles
Boucle ForBoucle WhileBreakSuivant (Continue)Récapitulatif - FactorielleGénération de séquences (seq, :)Boucles imbriquéesRécapitulatif - Saisie dynamique3Opérateurs, partie 1
Opérateurs arithmétiquesDivision entière et moduloOpérateurs d'affectationRécapitulatif - Mathématiques simplesOpérateurs de comparaison6Entrées/Sorties de base
Affichage avec PrintCat pour l'affichageAffichage avec des variablesLire l'entrée avec readline()Bases de la conversion de typesRécapitulatif - Calculateur d'âgeRécapitulatif - Vrai ou Faux9Fonctions
Déclarer une fonctionArguments de fonctionValeurs de retourRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationValeurs de paramètres par défautEntraînez-vous par vous-même : Compilateur R en ligne