Table des matières:
Vidéo: Comment faire un CV 2025
Vous utilisez tapply () pour créer des récapitulatifs tabulaires de données dans R. Avec tapply (), vous pouvez facilement créer des résumés de sous-groupes dans les données. Cette fonction prend trois arguments:
-
X : Un vecteur
-
INDEX : Un facteur ou une liste de facteurs
-
FUN : Une fonction < Par exemple, calculer la longueur moyenne des sépales dans l'ensemble de données iris: >> tapply (iris $ Sepal. Longueur, iris $ Espèces, moyenne) setosa versicolor virginica 5. 006 5. 936 6. 588
Avec ceci courte ligne de code, vous faites des choses puissantes. Vous dites à R de prendre le Sepal. Colonne de longueur, divisez-la en fonction des espèces, puis calculez la moyenne pour chaque groupe.
Il s'agit d'un idiome important pour l'écriture de code dans R, et il s'appelle généralement Split, Apply et Combine (SAC). Dans ce cas, vous divisez un vecteur en groupes, appliquez une fonction à chaque groupe, puis combinez le résultat dans un vecteur.
Bien sûr, en utilisant la fonction with (), vous pouvez écrire votre ligne de code d'une manière un peu plus lisible: >> avec (iris, tapply (Sepal. Length, Species, mean)) setosa versicolor virginica 5 006 5. 936 6. 588En utilisant tapply (), vous pouvez également créer des tables plus complexes pour récapituler vos données. Pour ce faire, utilisez une liste comme argument INDEX.
Comment utiliser tapply () pour créer des tableaux de plus grande dimension
Par exemple, essayez de résumer le cadre de données mtcars, un cadre de données intégré avec des données sur les moteurs et les performances des voitures. Comme avec n'importe quel objet, vous pouvez utiliser str () pour inspecter sa structure: >> str (mtcars)
La variable am est un vecteur numérique qui indique si le moteur a un automatique (0) ou manuel (1) boîte de vitesses. Parce que ce n'est pas très descriptif, commencez par créer un nouvel objet, cars, qui est une copie de mtcars, et changez la colonne am en un facteur:
>> voitures <- dedans (mtcars, + am <- facteur (am, niveaux = 0: 1, étiquettes = c ("Automatique", "Manuel")) +)
Maintenant Utilisez tapply () pour trouver les miles moyens par gallon (mpg) pour chaque type de boîte de vitesses: >> avec (voitures, tapply (mpg, am, mean)) Manuel Automatique 17. 14737 24. 39231
Oui, tu as raison. Ce n'est encore qu'un tableau unidimensionnel. Maintenant, essayez de faire une table bidimensionnelle avec le type de boîte de vitesses (am) et le nombre d'engrenages (vitesse): >> avec (voitures, tapply (mpg, liste (vitesse, am), moyenne)) Manuel Automatique 3 16. 10667 NA 4 21. 05000 26. 275 5 SO 21. 380
Vous utilisez tapply () pour créer des récapitulatifs tabulaires de données. C'est un peu similaire à la fonction table (). Cependant, table () ne peut créer que des tables de contingence (c'est-à-dire des tables de comptes), alors qu'avec tapply () vous pouvez spécifier n'importe quelle fonction comme fonction d'agrégation.En d'autres termes, avec tapply (), vous pouvez calculer des comptages, des moyennes ou toute autre valeur.
Si vous voulez résumer les statistiques sur un seul vecteur, tapply () est très utile et rapide à utiliser.Comment utiliser aggregate ()
Une autre fonction R qui fait quelque chose de très similaire est aggregate (): >> avec (cars, aggregate (mpg, list (gear = gear, am = am), mean)) engrenage am x 1 3 Automatique 16. 10667 2 4 Automatique 21. 05000 3 4 Manuel 26. 27500 4 5 Manuel 21. 38000
Ensuite, vous allez agréger () vers de nouvelles hauteurs en utilisant l'interface de la formule.
