Vidéo: Prise en main du logiciel R - Tutoriel : Vos tous premiers pas avec R 2025
Les fonctions vectorisées sont une fonctionnalité très utile de R, mais les programmeurs habitués à d'autres langages ont souvent des problèmes avec ce concept au début. Une fonction vectorisée fonctionne non seulement sur une seule valeur, mais sur un vecteur entier de valeurs en même temps.
Votre réflexe naturel en tant que programmeur peut être de boucler toutes les valeurs du vecteur et d'appliquer la fonction, mais la vectorisation rend cela inutile. Faites-nous confiance: Lorsque vous commencerez à utiliser la vectorisation dans R, cela vous aidera à simplifier votre code.
Pour essayer des fonctions vectorisées, vous devez créer un vecteur. Pour ce faire, utilisez la fonction c (), qui correspond à concaténer . Les valeurs réelles sont séparées par des virgules.
Voici un exemple: Supposons que Mamie joue au basketball avec son amie Géraldine, et que vous gardiez une vingtaine de paniers de Mamie dans chaque partie. Après six matchs, vous voulez savoir combien de paniers Granny a fait jusqu'à présent cette saison. Vous pouvez mettre ces nombres dans un vecteur, comme ceci:
Pour trouver le nombre total de paniers créés par Granny, il vous suffit de taper ce qui suit: >> somme (paniers de Granny) [1] 38
Vous pourriez obtenir le même résultat en passant le numéro de vecteur par numéro, en ajoutant chaque nouveau nombre à la somme des nombres précédents, mais cette méthode vous obligerait à écrire plus de code et cela prendrait plus de temps à calculer. Vous ne le remarquerez pas sur seulement six chiffres, mais la différence sera évidente lorsque vous devrez en additionner quelques milliers.
Dans cet exemple de vectorisation, une fonction utilise le vecteur complet pour vous donner un résultat. Certes, cet exemple est trivial (vous pouvez avoir deviné que sum () accomplirait le même but), mais pour les autres fonctions de R, la vectorisation peut être moins évidente.
Un exemple moins évident d'une fonction vectorisée est la fonction paste (). Si vous créez un vecteur avec les prénoms des membres de votre famille, paste () peut ajouter le nom de famille à tous avec une commande, comme dans l'exemple suivant: >> firstnames nomname paste (prénoms, nom) [1] "Joris Meys" "Carolien Meys" "Koen Meys"R prend les prénoms du vecteur, puis colle le nom de famille dans chaque valeur. À quel point cela est cool? En fait, R combine deux vecteurs. Le deuxième vecteur - dans ce cas, le nom de famille - est une seule valeur longue. Cette valeur est
recyclée
par la fonction paste () aussi longtemps que nécessaire.
Vous pouvez aussi donner à R deux vecteurs plus longs, et R les combiner élément par élément, comme ceci: >> noms des auteurs coller (auteurs, noms de famille) [1] "Andrie de Vries" "Joris Meys" > Aucun code compliqué n'est nécessaire.Tout ce que vous avez à faire est de créer les vecteurs et de les mettre dans la fonction.
