Le nom est en format majuscule. movies <- c("SPYDERMAN", "BATMAN", "VERTIGO", "CHINATOWN")movies_lower <-lapply(movies, tolower)str(movies_lower)
## List of 4## $:chr"spyderman"## $:chr"batman"## $:chr"vertigo"## $:chr"chinatown"
Nous pouvons utiliser unlist() pour convertir la liste en vecteur. movies_lower <-unlist(lapply(movies, tolower))str(movies_lower)
## chr "spyderman" "batman" "vertigo" "chinatown"
Fonction sapply()
La fonction sapply() prend en entrée une liste, un vecteur ou un cadre de données et donne en sortie un vecteur ou une matrice. Titre d'un graphique appelé par fonction et lapply - Groupe des utilisateurs du logiciel R. Elle est utile pour les opérations sur les objets de liste et renvoie un objet de liste de même longueur que l'ensemble original. La fonction sapply() fait le même travail que la fonction lapply() mais renvoie un vecteur. sapply(X, FUN)Arguments:-X: A vector or an object-FUN: Function applied to each element of x
Nous pouvons mesurer la vitesse minimale et les distances d'arrêt des voitures à partir de l'ensemble de données des voitures. dt <- carslmn_cars <- lapply(dt, min)smn_cars <- sapply(dt, min)lmn_cars
## $speed## 4## $dist## 2
smn_cars
## speed dist ## 4 2
lmxcars <- lapply(dt, max)smxcars <- sapply(dt, max)lmxcars
## $speed## 25## $dist## 120
smxcars
## speed dist ## 25 120
Nous pouvons utiliser une fonction intégrée par l'utilisateur dans lapply() ou sapply().
Lapply Sous Réserve
La fonction apply() permet d'appliquer une fonction (par exemple une moyenne, une somme) à chaque ligne ou chaque colonne d'un tableau de données. Cette fonction prend 3 arguments dans l'ordre suivant: nom du tableau de données
un nombre pour dire si la fonction doit s'appliquer aux lignes (1), aux colonnes (2) ou aux deux (c(1, 2))
le nom de la fonction à appliquer
Voici un exemple. L'objectif est de calculer la somme de chaque ligne ou de chaque colonne d'un tableau:
# On crée d'abord une matrice avec 2 lignes et 3 colonnes
data<-matrix(c(1, 2, 3, 4, 5, 6), nrow=2)
# On donne un nom aux lignes et aux colonnes
colnames(data)=c("C1", "C2", "C3")
rownames(data)=c("L1", "L2")
# On utilise la fonction apply() pour faire la somme de chaque ligne
apply(data, 1, sum)
# Pour faire la somme de chaque colonne, on remplace 1 par 2
apply(data, 2, sum)
Lapply Sous R Kelly
550 2. 375 2. 350 2. 850 2. 425 2. 525 2. 225 2. 400
## [1] "numeric" C'est l'équivalent de la fonction rowMeans(). res <- rowMeans(iris[1:10, 1:4])
## [1] "numeric" Mais l'intérêt de apply, c'est qu'on peut utiliser n'importe quelle fonction: res <- apply(iris[1:10, 1:4], 1, summary)
## Min. 0. 20 0. 200 0. 400 0. 300 0. 10
## 1st Qu. 1. 10 1. 100 1. 025 1. 175 1. 375 1. 125 1. 15
## Median 2. 45 2. 200 2. 250 2. 300 2. 50 2. 800 2. 400 2. 450 2. 150 2. 30
## Mean 2. Lapply sous r kelly. 55 2. 40
## 3rd Qu. 3. 90 3. 475 3. 575 3. 95 4. 275 3. 700 3. 800 3. 55
## Max. 5. 10 4. 900 4. 700 4. 600 5. 00 5. 400 4. 000 4. 90
## [1] "matrix" "array" Comme la sortie summary() renvoie plusieurs éléments, la fonction apply renvoie, en sortie, une matrice. Idem, pour les colonnes, en employant l'argument 2. Par exemple, ici, on calcule la moyenne des colonnes 1 à 4, c'est-à-dire les variables "", "", "", "": res <- apply(iris[, 1:4], 2, mean, )
## 5. 843333 3. 057333 3. 758000 1. 199333
## [1] "numeric"
res <- apply(iris[, 1:4], 2, quantile, probs=c(0.
Lapply Sous R Rambaud
75))
## 25% 5. 1 2. 8 1. 6 0. 3
## 75% 6. 4 3. 3 5. Lapply sous r sistible ascension du. 1 1. 8
## [1] "matrix" "array" Si ces fonctions *apply() v ous intéressent vous pouvez aussi explorer les fonctions vapply() et mapply(). Vous trouverez des informations ici, et là. Je vous recommande aussi de regarder du côté du package purrr et ces fonctions map() qui permettent aussi d'appliquer une même fonction (ou une même série de fonctions) à chaque élément d'un ensemble de données. Vous trouverez une introduction au package purrr et une liste de ressources pour apprendre à l'utiliser, dans mon article: Liste de ressources pour le package purrr Ce petit mémo m'est très utile, et j'espère qu'il en sera de même pour vous. N'hésitez pas à me partager en commentaire des exemples de vos propres utilisations de ces fonctions apply. Cela aidera certainement ceux qui débutent! Si cet article vous a plu, ou vous a été utile, et si vous le souhaitez, vous pouvez soutenir ce blog en faisant un don sur sa page Tipeee
3 réponses "Bel article d'apprentissage!
Lapply Sous R Sistible Ascension Du
Dans l'exemple que tu a pris c'est déjà une utilisation plus complexe de sapply puisqu'il est imbriqué dans une fonction. IL y a plus simple pour comprendre le fonctionnement. Par exemple, crée toi une liste de vecteur et tu pourras tenter la commande: ou encore sur un tableau de donnée (un est une liste) si tu fais la même commande qu'au dessus tu auras la moyenne par colonne. Je ne vois pas quoi te dire de plus pour le moment. :)
jean lobry
Messages: 722 Enregistré le: 17 Jan 2008, 20:00
Contact:
Message par jean lobry » 13 Oct 2008, 16:05
Bonjour,
la fonction sapply() fait en fait appel à la fonction lapply() et essaye de simplifier le résultat en, typiquement, un vecteur. Lapply sous réserve. Donc le plus simple pour comprendre sapply() c'est de commencer à jouer avec lapply() qui va appliquer une même fonction à une liste. Comme les objets de la classe sont aussi des listes, on peut faire par exemple:
Code: Tout sélectionner data(rock) lapply(rock, mean) colMeans(rock) sapply(rock, mean)
Amicalement,
Jean
Retourner vers « Questions en cours »
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invité
lapply ( X = iris, function (x) class (x))
## $
## [1] "numeric"
## $Species
## [1] "factor"
lapply ( X = colnames (iris), function (x) summary (iris[, x]))
## [[1]]
## Min. 1st Qu. Median Mean 3rd Qu. Max. ## 4. 300 5. 100 5. 800 5. 843 6. 400 7. 900
## [[2]]
## 2. 000 2. 800 3. 000 3. 057 3. 300 4. 400
## [[3]]
## 1. 000 1. 600 4. 350 3. 758 5. 100 6. 900
## [[4]]
## 0. 100 0. 300 1. 199 1. 800 2. 500
## [[5]]
## setosa versicolor virginica
## 50 50 50
Quand on regarde de plus près, on se rend compte, que ces fonctions peuvent jouer le même rôle qu'une boucle. lapply ( X = colnames (iris), function (x) x)
## [1] ""
## [1] "Species"
Fonction sapply
La fonction sapply est similaire à la fonction lapply sauf qu'elle ne retourne pas de liste mais un vecteur ou une matrice. R pour les nuls: La fonction tapply(). sapply ( X = iris, function (x) class (x))
## "numeric" "numeric" "numeric" "numeric" "factor"
Fonction tapply
La fonction tapply adopte la même approche que la fonction aggregate. Elle permet d'agréger des données. Les arguments de la fonction d'agrégation sont renseignés dans la fonction tapply et non dans la fonction d'agrégation.
Découvrez les 10 meilleurs près de chez vous Comment fonctionne ProntoPro Comparer Des dizaines de professionnels certifiés sont prêts à vous aider Choisir Vérifiez le prix, les photos et les commentaires. Contact Écrivez aux professionnels directement dans le chat. Gratuit et sans engagement. Depannage plomberie roubaix 2. Trouvez un Plombier dépanneur à Roubaix AQUA'CHAUFF dépannage chauffe eau à Roubaix Mohamed Hadiri Expérimenté dans le domaine de la plomberie, AQUA'CHAUFF prend en charge toutes les pannes comme la fuite de plomberie et se spécialise également dans le dépannage de chauffe eau au fioul ou solaire. Roger Meerschaert (Sarl), changer chauffe eau à Roubaix. Roger Meerschaert (Sarl) Roger Meerschaert (Sarl), changer chauffe eau à Roubaix, wc bouché, wc qui fuite, pas de panique Roger Meerschaert propose ses dépannage sanitaire de qualité. Schembri Michel, dépannage machine à laver à Roubaix. Schembri Michel Schembri Michel, dépannage machine à laver à Roubaix, solutions pour les panne chauffe eau ou fuite des sanitaires, changer mécanisme wc à Roubaix pour éviter les problèmes de pannes durant l'hiver.
Depannage Plomberie Roubaix Pour
Afin de résoudre tout problème, vous pouvez compter sur la réactivité de. Nos plombiers à 59100 peuvent se déplacer à votre domicile pour vous aider à résoudre une grande variété de problèmes de plomberie (débouchage de toilettes et canalisations, recherche et réparation fuite d'eau, dépannage de chaudière et ballon d'eau chaude). Lorsque vous avez besoin d'un plombier-chauffagiste à Roubaix, ne cherchez pas plus loin que notre équipe. Nous pouvons vous aider pour installer une pompe à chaleur ou réparer votre système de chauffage (chaudière, chauffe-eau, chauffe-bain, cumulus). Plombier Roubaix 24h/7j - Dépannage Plomberie Roubaix - Devis Gratuits. Plombier à Roubaix honnête, local, et pas cher
Trouver le bon plombier à Roubaix peut être délicat, c'est pourquoi nous avons créé un réseau de professionnels ayant les compétences et le savoir-faire pour faire un excellent travail. Nous travaillons uniquement avec des installateurs qualifiés et nous nous engageons à offrir un excellent service client. Ainsi, faire appel Plombiers360 vous donnera l'opportunité de collaborer avec l'un de nos plombiers professionnels et de bénéficier de conseils d'experts en fonction de la configuration de votre réseau et des normes applicables.
Depannage Plomberie Roubaix Feminin
Quelles sont les avis des internautes sur Plombiers360? Avant de commander un plombier chez Plombiers360, vous pouvez consulter nos avis clients pour vous faire une idée de la qualité de nos interventions. Contacter le meilleur plombier à Roubaix
Quelques soient vos besoins, nos plombiers sont à votre disposition 7j/7J et 24h sur 24.
Depannage Plomberie Roubaix En
En cas de panne: Nul appareil n'est infaillible. Nous sommes conscients que prendre une douche froide en hiver peut être très éprouvant! Alors, dès que vous remarquez les premiers symptômes de panne de votre chaudière, appelez-nous. Dépannage plomberie à Roubaix (59100) - Mappy. Il se rendra d'urgence chez vous pour la réparer au plus vite. Il peut s'agir d'un thermomètre défectueux, des capteurs abîmés, une obstruction des tuyaux d'acheminement du gaz ou de l'eau, ou encore des problèmes d'étanchéité. Ces pannes ne sont étranges que pour vous. Pour nous, il s'agit de problèmes de chaudières à gaz que nous connaissons et dont la solution ne saurait nous échapper. Nous vous l'avons dit, ne vous essayez pas au bricolage, quand il s'agit de chaudières, faites appel aux professionnels.
Le Meilleur Plombier à Roubaix (59100) - Ou Plombier Artisan Plombier de confiance. Prix Fixe. Chez vous en 30 Min Artisan Plombier de confiance Urgence Dépannage Plomberie 24H/24 et 7J/7 Devis Gratuit et prix d'intervention fixe Charte d'engagement qualité Vos WC sont bouchés, votre lavabo est cassé, vous aimeriez changer de baignoire…Vous avez besoin de l'expertise d'un plombier à Roubaix? Ou-Plombier est le mieux placé pour vous mettre en relation avec les meilleurs chauffagistes de Roubaix (59170). Dynamiques et professionnels, les plombiers de Roubaix que Ou-Plombier vous propose ont été choisi pour leur sérieux, leur rapidité et leur travail sans faille. Plombier Chauffagiste Roubaix - Installation, Entretien, Dépannage. Proposant des tarifs attractifs, ils sont connus pour la qualité de leurs services de plomberie. Que vous résidiez dans le Fresnoy, près du centre historique ou à l'Hommelet, les chauffagistes de Roubaix seront réactifs dans leur dépannage! Pour toute urgence, ils effectueront leur travail de réparation dans les meilleures conditions possibles.