So verwenden Sie die Anwendung () Funktion Arrays in R zu Summarize

Wenn Sie Daten in der Form einer Anordnung oder Matrix und wollen Sie diese Daten zusammenfassen, R apply () Funktion ist sehr nützlich. Das apply () Funktion durchläuft eine Anordnung oder Matrix, die durch Spalte oder Zeile und wendet eine zusammenfassende Funktion.

Das apply () Funktion nimmt vier Argumente:

  • X: Das ist Ihre Daten - ein Array (oder Matrix).

  • MARGE: Ein numerischer Vektor, der die Dimension, über die angibt, zu traverse- 1 bedeutet Zeilen und 2 bedeutet Spalten.

  • SPASS: Die Funktion (beispielsweise anzuwenden, Summe oder bedeuten).

  • ... (Punkte): Wenn dein SPASS Funktion erfordert keine zusätzlichen Argumente, können Sie sie hier hinzufügen.

Um dies zu verdeutlichen, Blick auf die Einbau-Dataset titanisch. Dies ist eine vierdimensionale Tabelle mit Passagierdaten des Schiffes Titanic, ihre Kabine Klasse beschreiben, Geschlecht, Alter, und ob sie überlebt.

> Str (Titanic) Tabelle [1: 4, 1: 2, 1: 2, 1: 2] 0 35 0 0 0 0 17 0 118 154 ...- attr (* "dimnames") = Liste der 4. . $ Klasse: chr [1: 4] "1." "2." "3." "Crew" .. $ Geschlecht: chr [1: 2] "Male" "Female" .. $ Alter: chr [1: 2] "Child" "Adult" .. $ Survived: chr [1: 2] "Nein" "Ja"

Um herauszufinden, wie viele Passagiere in jeder ihrer Kabinenklassen waren, müssen Sie zusammenfassen titanisch über seinen ersten Dimension, Klasse:

> Gelten (Titanic, 1, Summe) 1. 2. 3. Crew325 285 706 885

In ähnlicher Weise die Anzahl der Passagiere in den verschiedenen Altersgruppen zu berechnen, müssen Sie die anzuwenden Summe() Funktion über die dritte Dimension:

> Gelten (Titanic, 3, Summe) Kinder Adult109 2092

Sie können auch eine Funktion über zwei Dimensionen zur gleichen Zeit anzuwenden. Um dies zu tun, müssen Sie die gewünschten Abmessungen mit dem zu verbinden c () Funktion. Um zum Beispiel eine Zusammenfassung, wie viele Menschen in jeder Altersgruppe überlebt zu erhalten, haben Sie die folgenden Schritte aus:

> Gelten (Titanic, c (3, 4), sum) YesChild SurvivedAgeNo 52 57Adult 1438 654

Menü