Opérations sur les vecteurs
Fait partie de la section Fondamentaux du Journey R de Coddy — leçon 59 sur 78.
L'une des fonctionnalités les plus puissantes de R est la capacité d'effectuer des opérations sur des vecteurs entiers à la fois, sans avoir besoin de parcourir chaque élément par une boucle. Cela rend votre code à la fois plus propre et plus efficace.
Lorsque vous appliquez un opérateur arithmétique à un vecteur, R effectue l'opération sur chaque élément :
prices <- c(10, 25, 15, 30)
discounted <- prices * 0.9
print(discounted)Sortie :
[1] 9.0 22.5 13.5 27.0Vous pouvez également effectuer des opérations entre deux vecteurs de même longueur. R associe les éléments correspondants :
quantities <- c(2, 1, 4, 3)
prices <- c(10, 25, 15, 30)
totals <- quantities * prices
print(totals)Sortie :
[1] 20 25 60 90R fournit des fonctions intégrées utiles pour les calculs de vecteurs courants tels que sum(), mean(), min() et max() :
scores <- c(85, 92, 78, 95, 88)
print(sum(scores))
print(mean(scores))
print(min(scores))
print(max(scores))Sortie :
[1] 438
[1] 87.6
[1] 78
[1] 95Défi
FacileOn vous fournit les vecteurs suivants :
hours_worked <- c(8, 7, 9, 6, 8)
hourly_rate <- c(15, 20, 18, 22, 17)Effectuez les opérations suivantes et affichez chaque résultat :
- Calculez les gains quotidiens pour chaque jour en multipliant
hours_workedparhourly_rate(élément par élément). Affichez ce vecteur. - Appliquez un bonus de 10 % à tous les gains quotidiens (multipliez par
1.1). Affichez le vecteur des gains mis à jour. - Affichez le total des gains pour la semaine en utilisant
sum() - Affichez la moyenne des gains quotidiens en utilisant
mean() - Affichez le gain le plus élevé d'une seule journée en utilisant
max() - Affichez le gain le plus bas d'une seule journée en utilisant
min()
Votre sortie devrait être :
[1] 120 140 162 132 136
[1] 132.0 154.0 178.2 145.2 149.6
[1] 759
[1] 151.8
[1] 178.2
[1] 132Aide-mémoire
R effectue des opérations sur des vecteurs entiers à la fois sans avoir besoin de boucles.
L'application d'un opérateur arithmétique à un vecteur effectue l'opération sur chaque élément :
prices <- c(10, 25, 15, 30)
discounted <- prices * 0.9
print(discounted)
# [1] 9.0 22.5 13.5 27.0Les opérations entre deux vecteurs de même longueur associent les éléments correspondants :
quantities <- c(2, 1, 4, 3)
prices <- c(10, 25, 15, 30)
totals <- quantities * prices
print(totals)
# [1] 20 25 60 90Fonctions intégrées courantes pour les calculs vectoriels :
scores <- c(85, 92, 78, 95, 88)
sum(scores) # [1] 438
mean(scores) # [1] 87.6
min(scores) # [1] 78
max(scores) # [1] 95Essayez vous-même
# Given vectors
hours_worked <- c(8, 7, 9, 6, 8)
hourly_rate <- c(15, 20, 18, 22, 17)
# TODO: Écrivez votre code ci-dessous
# 1. Calculer les gains quotidiens (multiplication élément par élément)
# 2. Appliquer un bonus de 10 % aux gains quotidiens
# 3. Afficher les gains totaux pour la semaine en utilisant sum()
# 4. Afficher les gains quotidiens moyens en utilisant mean()
# 5. Afficher le gain quotidien le plus élevé en utilisant max()
# 6. Afficher le gain quotidien le plus bas en utilisant min()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
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éfaut