Hur man använder Apply Skapa Tabell sammanfattningar på R

June 20

Du använder tapply () för att skapa tabell sammanställningar av uppgifter 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 över faktorer
  • FUN: En funktion

Till exempel, beräkna medelvärdet sepal längden i datamängden iris:

> Tapply (iris $ Sepal.Length, iris $ Arter, menar)
setosa versicolor virginica
5,006 5,936 6,588

Med denna korta kodrad, gör dig några kraftfulla saker. Du berättar R för att ta Sepal.Length kolumnen dela den enligt Arter, och sedan beräkna medelvärdet för varje grupp.

Detta är en viktig idiom för att skriva kod i R, och det oftast går under namnet Split, Verkställ och Kombinera (SAC). I detta fall delas en vektor i grupper, tillämpa en funktion för varje grupp, och sedan kombinera resultatet i en vektor.

Naturligtvis använder med () funktionen kan du skriva din kodrad i en något mer lättläst sätt:

> Med (iris, tapply (Sepal.Length, art, menar))
setosa versicolor virginica
5,006 5,936 6,588

Använda tapply (), kan du också skapa mer komplexa tabeller för att sammanfatta dina data. Du gör detta genom att använda en lista som din INDEX argument.

Hur du använder tapply () för att skapa högre dimensionella tabeller

Prova till exempel att sammanfatta de uppgifter ram mtcars, en inbyggd dataramen med data om motor-bilmotorer och prestanda. Som med alla objekt, kan du använda str () för att inspektera dess struktur:

> str (mtcars)

Den rörliga am är ett numeriskt vektor som anger om motorn har en automatisk (0) eller manuell (1) växellåda. Eftersom detta ISNA € t mycket beskrivande, börja med att skapa ett nytt objekt, bilar, är att en kopia av mtcars, och ändra kolumn am vara en faktor:

> bilar <- inom (mtcars,
+ Am <- faktor (am, nivåer = 0: 1, etiketter = c ("Automatic", "Manuell"))
+)

Nu använder tapply () för att hitta de genomsnittliga miles per gallon (mpg) för varje typ av växellåda:

> Med (bilar, tapply (mpg, jag, menar))
Automatisk Manuell
17,14737 24,39231

Ja, du € re korrekta. Detta är fortfarande bara en endimensionell tabell. Nu, försöka göra en tvådimensionell tabell med den typ av växellåda (am) och antal växlar (växel):

> Med (bilar, tapply (mpg, lista (redskap, am), menar))
Automatisk Manuell
3 16,10667 NA
4 21,05000 26,275
5 NA 21,380

Du använder tapply () för att skapa tabell sammanställningar av uppgifter. Detta är en liten bit som liknar tabellen funktion (). Däremot kan tabellen () skapar bara beredskapstabeller (dvs tabeller med räkningar), medan med tapply () kan du ange någon funktion som aggregeringsfunktionen. Med andra ord, med tapply (), kan du räkna räknas, medel, eller något annat värde.

Om du vill sammanfatta statistiken på 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 liknande är aggregat ():

> Med (bilar, aggregat (mpg, lista (växel = växel, am = am), menar))
växel am x
1 3 Automatisk 16,10667
2 4 Automatisk 21,05 tusen
3 4 Manuell 26,27500
4 5 Manuell 21,38 tusen

Sedan tar du aggregat () till nya höjder med hjälp av formeln gränssnittet.