Innehållsförteckning:
Video: Visar hur jag skapar min Vision Board för 2019 ★ (+ berättar om mitt nya varumärke) 2024
Du använder tapply () för att skapa tabellöversikter av data i R. Med tapply () kan du enkelt skapa sammanfattningar av undergrupper i data. Denna funktion tar tre argument:
-
X : En vektor
-
INDEX : En faktor eller lista med faktorer
-
FUN : En funktion < Beräkna exempelvis den genomsnittliga sepallängden i datamängden iris: >> tapply (iris $ Sepal. Längd, iris $ Art, medelvärde) setosa versicolor virginica 5. 006 5. 936 6. 588
Med detta kort kod, du gör några kraftfulla saker. Du berättar att R tar Sepal. Längdkolumn, dela upp den enligt Art, och beräkna sedan medelvärdet för varje grupp.
Detta är ett viktigt idiom för att skriva kod i R, och det brukar vara namnet Split, Apply och Combine (SAC). I det här fallet delar du en vektor i grupper, applicerar en funktion till varje grupp och kombinerar sedan resultatet med en vektor.
Med hjälp av funktionen with () kan du skriva din kod kod på ett lite mer läsligt sätt: >> med (iris, tapply (Sepal. Längd, Art, medelvärde)) setosa versicolor virginica 5. 006 5. 936 6. 588Med tapply () kan du även skapa mer komplexa tabeller för att sammanfatta dina data. Du gör det genom att använda en lista som ditt INDEX-argument.
Hur man använder tapply () för att skapa högdimensionella tabeller
Försök till exempel att summera datarammens mtcars, en inbyggd dataram med data om bilmotorer och prestanda. Som med något objekt kan du använda str () för att inspektera dess struktur: >> str (mtcars)
Variabeln am är en numerisk vektor som indikerar om motorn har en automatisk (0) eller manuell (1) växellåda. Eftersom det här inte är mycket beskrivande börjar du med att skapa ett nytt objekt, bilar, det är en kopia av mtcars och ändra kolumnen am till en faktor:
>> bilar <- inom (mtcars, + am <- faktor (am, nivåer = 0: 1, etiketter = c ("Automatisk", "Manuell")) +)
Nu Använd tapply () för att hitta medelmiljoner per gallon (mpg) för varje typ av växellåda: >> med (bilar, tapply (mpg, am, mean)) Automatisk manuell 17. 14737 24. 39231
Ja, du är korrekt Detta är fortfarande bara ett ettdimensionellt bord. Försök nu göra ett tvådimensionellt bord med typ av växellåda och antal växlar (växel): >> med (bilar, tapply (mpg, lista (växel, am), medelvärde)) Automatisk manuell 3 16. 10667 NA 4 21. 05000 26. 275 5 NA 21. 380
Du använder tapply () för att skapa tabellöversikter av data. Det här är lite som i tabellen () -funktionen. Tabellen () kan dock skapa endast beredskapstabeller (det vill säga tabeller med räkningar), medan med tapply () kan du ange vilken funktion som aggregationsfunktionen.Med andra ord, med tapply () kan du beräkna räkningar, medel eller något annat värde.
Om du vill summera statistik om en enda vektor är tapply () mycket användbar och snabb att använda.Hur man använder aggregat ()
En annan R-funktion som gör något mycket liknar är aggregat (): >> med (bilar, aggregat (mpg, lista (växel = växel, am = am)) växel am x 1 3 Automatisk 16. 10667 2 4 Automatisk 21. 05000 3 4 Manuell 26. 27500 4 5 Manual 21. 38000
Därefter tar du aggregat () till nya höjder med hjälp av formelgränssnittet.