Inhoudsopgave:
Video: Tactieken hoe je emotionele binding aangaat bij je klanten. 2024
U gebruikt tapply () om tabulatiesamenvattingen van gegevens in R te maken. Met tapply () kunt u eenvoudig samenvattingen van subgroepen in gegevens maken. Voor deze functie zijn drie argumenten vereist:
-
X : Een vector
-
INDEX : Een factor of lijst met factoren
-
FUN : Een functie < Bereken bijvoorbeeld de gemiddelde kelklengte in de gegevensreeks iris: >> tapply (iris $ Sepal.lengte, iris $ Soort, gemiddelde) setosa versicolor virginica 5. 006 5. 936 6. 588
Hiermee korte regel code, je doet een aantal krachtige dingen. Vertel R dat hij de Sepal moet nemen. Lengte kolom, deel het volgens Species en bereken vervolgens het gemiddelde voor elke groep.
Dit is een belangrijk idioom voor het schrijven van code in R, en het gaat meestal met de naam Splitsen, Toepassen en Combine (SAC). In dit geval splitst u een vector in groepen, past u een functie toe op elke groep en combineert u het resultaat in een vector.
Natuurlijk, met behulp van de met () functie, kunt u uw regel code op een iets leesbaarder manier schrijven: >> met (iris, tapply (Sepal, Length, Species, mean)) setosa versicolor virginica 5 006 5. 936 6. 588Met tapply () kunt u ook complexere tabellen maken om uw gegevens samen te vatten. U doet dit door een lijst te gebruiken als uw INDEX-argument.
Hoe tapply () te gebruiken om meer-dimensionale tabellen te maken
Probeer bijvoorbeeld het dataframe mtcars samen te vatten, een ingebouwd dataframe met gegevens over automotormotoren en prestaties. Zoals met elk object, kun je str () gebruiken om de structuur ervan te inspecteren: >> str (mtcars)
De variabele am is een numerieke vector die aangeeft of de motor een automatische (0) of een handmatige (1) heeft versnellingsbak. Omdat dit niet erg beschrijvend is, begin met het maken van een nieuw object, auto's, dat is een kopie van mtcars, en verander de kolom als een factor:
>> auto's <- binnen (mtcars, + am <- factor (am, levels = 0: 1, labels = c ("Automatisch", "Manual")) +)
Nu gebruik tapply () om de gemiddelde mijlen per gallon (mpg) voor elk type versnellingsbak te vinden: >> met (auto's, tapply (mpg, ben, mean)) Automatic Manual 17. 14737 24. 39231
Ja, je hebt gelijk. Dit is nog steeds slechts een eendimensionale tabel. Probeer nu een tweedimensionale tabel te maken met het type versnellingsbak (am) en het aantal versnellingen (versnelling): >> met (auto's, tapply (mpg, lijst (versnelling, am), gemiddelde)) Automatische handleiding 3 16. 10667 NA 4 21. 05000 26. 275 5 NA 21. 380
U gebruikt tapply () om tabellenamenvattingen van gegevens te maken. Dit lijkt een beetje op de functie table (). Tabel () kan echter alleen contingentietabellen maken (dat wil zeggen tabellen met tellingen), terwijl met tapply () u elke functie als aggregatiefunctie kunt opgeven.Met andere woorden, met tapply () kunt u tellingen, gemiddelden of elke andere waarde berekenen.
Als u statistieken over een enkele vector wilt samenvatten, is tapply () erg handig en snel te gebruiken.Hoe aggregaat te gebruiken ()
Een andere R-functie die iets vergelijkbaars doet is aggregate (): >> with (auto's, aggregaat (mpg, lijst (gear = gear, am = am), mean)) versnelling am x 1 3 Automatisch 16. 10667 2 4 Automatisch 21. 05000 3 4 Handleiding 26. 27500 4 5 Handleiding 21. 38000
Vervolgens neemt u aggregaat () naar nieuwe hoogtes met behulp van de formule-interface.