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.