Hoe de spread-functie in r te gebruiken (met voorbeelden)


De functie spread() in het Tidyr- pakket kan worden gebruikt om een sleutel-waardepaar over meerdere kolommen te “verspreiden”.

Deze functie gebruikt de volgende basissyntaxis:

spreiding (data, sleutelwaarde)

Goud:

  • data : Naam van het dataframe
  • key : Kolom waarvan de waarden variabelenamen worden
  • waarde : Kolom waarin de waarden worden gevuld onder de nieuwe variabelen die op basis van de sleutel zijn gemaakt

De volgende voorbeelden laten zien hoe u deze functie in de praktijk kunt gebruiken.

Voorbeeld 1: Verdeel de waarden over twee kolommen

Stel dat we het volgende dataframe in R hebben:

 #create data frame
df <- data. frame (player= rep (c(' A ', ' B '), each= 4 ),
                 year= rep (c(1, 1, 2, 2), times= 2 ),
                 stat= rep (c(' points ', ' assists '), times= 4 ),
                 amount=c(14, 6, 18, 7, 22, 9, 38, 4))

#view data frame
df

  player year stat amount
1 A 1 points 14
2 A 1 assists 6
3 A 2 points 18
4 A 2 assists 7
5 B 1 points 22
6 B 1 assists 9
7 B 2 points 38
8 B 2 assists 4

We kunnen de functie spread() gebruiken om de statistische kolomwaarden naar hun eigen kolommen te transformeren:

 library (tidyr)

#spread stat column across multiple columns
spread(df, key=stat, value=amount)

  player year assists points
1 to 1 6 14
2 to 2 7 18
3 B 1 9 22
4 B 2 4 38

Voorbeeld 2: Verspreid waarden over meer dan twee kolommen

Stel dat we het volgende dataframe in R hebben:

 #create data frame
df2 <- data. frame (player= rep (c(' A '), times= 8 ),
                 year= rep (c(1, 2), each= 4 ),
                 stat= rep (c(' points ', ' assists ', ' steals ', ' blocks '), times= 2 ),
                 amount=c(14, 6, 2, 1, 29, 9, 3, 4))

#view data frame
df2

  player year stat amount
1 A 1 points 14
2 A 1 assists 6
3 A 1 steals 2
4 A 1 blocks 1
5 A 2 points 29
6 A 2 assists 9
7 A 2 steals 3
8 A 2 blocks 4

We kunnen de functie spread() gebruiken om de vier unieke waarden in de statistiekkolom om te zetten in vier nieuwe kolommen:

 library (tidyr)

#spread stat column across multiple columns
spread(df2, key=stat, value=amount)

  player year assists blocks points steals
1 A 1 6 1 14 2
2 A 2 9 4 29 3

Aanvullende bronnen

Het doel van het Tidyr- pakket is om “opgeruimde” data te creëren, die de volgende kenmerken heeft:

  • Elke kolom is een variabele.
  • Elke lijn is een observatie.
  • Elke cel is een unieke waarde.

Het Tidyr-pakket gebruikt vier hoofdfuncties om geordende gegevens te creëren:

1. De spread() -functie.

2. De functie verzamelen() .

3. De functie afzonderlijke() .

4. De unit() -functie.

Als u deze vier functies onder de knie heeft, kunt u uit elk dataframe ‘nette’ data creëren.

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert