Hoe beschrijvende statistieken in r te berekenen (met voorbeeld)
Beschrijvende statistieken zijn waarden die een reeks gegevens beschrijven.
Ze helpen ons te begrijpen waar het centrum van de dataset zich bevindt, evenals de verdeling van waarden in de dataset.
Er zijn twee functies die we kunnen gebruiken om beschrijvende statistieken in R te berekenen:
Methode 1: Gebruik de functie summary().
summary(my_data)
De functie summary() berekent de volgende waarden voor elke variabele in een dataframe in R:
- Minimum
- 1e kwartiel
- Mediaan
- Gemeen
- 3e kwartiel
- Maximaal
Methode 2: gebruik de functie sapply().
sapply(my_data, sd, na. rm = TRUE )
De functie sapply() kan worden gebruikt om andere beschrijvende statistieken te berekenen dan die berekend door de functie summary() voor elke variabele in een dataframe.
De bovenstaande functie sapply() berekent bijvoorbeeld de standaardafwijking van elke variabele in een dataframe.
Het volgende voorbeeld laat zien hoe u deze twee functies kunt gebruiken om beschrijvende statistieken te berekenen voor variabelen in een dataframe in R.
Voorbeeld: beschrijvende statistieken berekenen in R
Stel dat we het volgende dataframe in R hebben dat drie variabelen bevat:
#create data frame df <- data. frame (x=c(1, 4, 4, 5, 6, 7, 10, 12), y=c(2, 2, 3, 3, 4, 5, 11, 11), z=c(8, 9, 9, 9, 10, 13, 15, 17)) #view data frame df X Y Z 1 1 2 8 2 4 2 9 3 4 3 9 4 5 3 9 5 6 4 10 6 7 5 13 7 10 11 15 8 12 11 17
We kunnen de functie summary() gebruiken om verschillende beschrijvende statistieken voor elke variabele te berekenen:
#calculate descriptive statistics for each variable
summary(df)
xyz Min. : 1,000 Min. : 2,000 Min. : 8.00
1st Qu.: 4,000 1st Qu.: 2,750 1st Qu.: 9.00
Median: 5,500 Median: 3,500 Median: 9.50
Mean: 6.125 Mean: 5.125 Mean: 11.25
3rd Qu.: 7,750 3rd Qu.: 6,500 3rd Qu.: 13.50
Max. :12,000 Max. :11,000 Max. :17.00
We kunnen ook haakjes gebruiken om alleen beschrijvende statistieken voor specifieke variabelen in het dataframe te berekenen:
#calculate descriptive statistics for 'x' and 'z' only summary(df[, c(' x ', ' z ')]) xz Min. : 1,000 Min. : 8.00 1st Qu.: 4.000 1st Qu.: 9.00 Median: 5.500 Median: 9.50 Mean: 6.125 Mean: 11.25 3rd Qu.: 7.750 3rd Qu.: 13.50 Max. :12,000 Max. :17.00
We kunnen ook de functie sapply() gebruiken om voor elke variabele specifieke beschrijvende statistieken te berekenen.
De volgende code laat bijvoorbeeld zien hoe u de standaardafwijking van elke variabele berekent:
#calculate standard deviation for each variable sapply(df, sd, na. rm = TRUE ) X Y Z 3.522884 3.758324 3.327376
We kunnen ook een functie() in sapply() gebruiken om beschrijvende statistieken te berekenen.
De volgende code laat bijvoorbeeld zien hoe u het bereik voor elke variabele berekent:
#calculate range for each variable sapply(df, function(df) max(df, na. rm = TRUE )-min(df, na. rm = TRUE )) X Y Z 11 9 9
Ten slotte kunnen we een complexe functie maken die beschrijvende statistieken berekent en deze functie vervolgens gebruiken met de functie sapply() .
De volgende code laat bijvoorbeeld zien hoe u de modus van elke variabele in het dataframe berekent:
#define function that calculates mode find_mode <- function (x) { u <- unique(x) tab <- tabulate(match(x, u)) u[tab == max(tab)] } #calculate mode for each variable sapply(df, find_mode) $x [1] 4 $y [1] 2 3 11 $z [1] 9
Uit het resultaat kunnen we zien:
- De modus van de variabele x is 4 .
- De modus van de y-variabele is 2 , 3 en 11 (aangezien elk van deze waarden het vaakst voorkomt)
- De modus van de variabele z is 9 .
Met behulp van de functies summary() en sapply() kunnen we voor elke variabele in een dataframe de beschrijvende statistieken berekenen die we willen.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:
Hoe u samenvattende tabellen maakt in R
Hoe het interkwartielbereik in R te vinden
Hoe uitschieters in R te verwijderen