Hoe z-scores in r te berekenen


In de statistiek vertelt een z-score ons hoeveel standaarddeviaties een waarde afwijkt van het gemiddelde. We gebruiken de volgende formule om een z-score te berekenen:

z = (X – μ) / σ

Goud:

  • X is een enkele onbewerkte gegevenswaarde
  • μ is het populatiegemiddelde
  • σ is de standaarddeviatie van de populatie

In deze tutorial wordt uitgelegd hoe u z-scores voor onbewerkte gegevenswaarden in R kunt berekenen.

Voorbeeld 1: Z-scores vinden voor een enkele vector

De volgende code laat zien hoe u de z-score kunt vinden voor elke onbewerkte gegevenswaarde in een vector:

 #create vector of data
data <- c(6, 7, 7, 12, 13, 13, 15, 16, 19, 22)

#find z-score for each data value 
z_scores <- (data-mean(data))/sd(data)

#display z-scores
z_scores

[1] -1.3228757 -1.1338934 -1.1338934 -0.1889822 0.0000000 0.0000000
[7] 0.3779645 0.5669467 1.1338934 1.7008401

Elke z-score vertelt ons hoeveel standaarddeviaties een individuele waarde afwijkt van het gemiddelde. Bijvoorbeeld:

  • De eerste ruwe gegevenswaarde van „6“ ligt 1,323 standaarddeviaties onder het gemiddelde.
  • De vijfde waarde van de ruwe gegevens, „13“, bedraagt 0 standaardafwijkingen van het gemiddelde, dat wil zeggen dat deze gelijk is aan het gemiddelde.
  • De laatste ruwe datawaarde van „22“ ligt 1,701 standaarddeviaties boven het gemiddelde.

Voorbeeld 2: Zoek Z-Scores voor een enkele kolom in een DataFrame

De volgende code laat zien hoe u de z-score kunt vinden voor elke onbewerkte gegevenswaarde in een enkele kolom van een dataframe:

 #create dataframe
df <- data.frame(assists = c(4, 4, 6, 7, 9, 13),
                 points = c(24, 29, 13, 15, 19, 22),
                 rebounds = c(5, 5, 7, 8, 14, 15))

#find z-score for each data value in the 'points' column
z_scores <- (df$points-mean(df$points))/sd(df$points)

#display z-scores
z_scores

[1] 0.6191904 1.4635409 -1.2383807 -0.9006405 -0.2251601 0.2814502

Elke z-score vertelt ons hoeveel standaarddeviaties een individuele waarde afwijkt van het gemiddelde. Bijvoorbeeld:

  • De eerste ruwe gegevenswaarde van „24“ ligt 0,619 standaardafwijkingen boven het gemiddelde.
  • De tweede ruwe gegevenswaarde, „29“, ligt 1,464 standaarddeviaties boven het gemiddelde.
  • De derde ruwe gegevenswaarde, „13“, ligt 1,238 standaarddeviaties onder het gemiddelde.

Enzovoort.

Voorbeeld 3: Zoek Z-scores voor elke kolom in een dataframe

De volgende code laat zien hoe u de z-score voor elke onbewerkte gegevenswaarde in elke kolom van een gegevensframe kunt vinden met behulp van de sapply() functie .

 #create dataframe
df <- data.frame(assists = c(4, 4, 6, 7, 9, 13),
                 points = c(24, 29, 13, 15, 19, 22),
                 rebounds = c(5, 5, 7, 8, 14, 15))

#find z-scores of each column
sapply(df, function(df) (df-mean(df))/sd(df))

         assists points rebounds
[1,] -0.92315712 0.6191904 -0.9035079
[2,] -0.92315712 1.4635409 -0.9035079
[3,] -0.34011052 -1.2383807 -0.4517540
[4,] -0.04858722 -0.9006405 -0.2258770
[5,] 0.53445939 -0.2251601 1.1293849
[6,] 1.70055260 0.2814502 1.3552619

De z-scores voor elke individuele waarde worden weergegeven ten opzichte van de kolom waarin ze zich bevinden. Bijvoorbeeld:

  • De eerste waarde van „4“ in de eerste kolom is 0,923 standaardafwijkingen onder de gemiddelde waarde van de kolom.
  • De eerste waarde van „24“ in de tweede kolom is 0,619 standaardafwijkingen boven de gemiddelde waarde van de kolom.
  • De eerste waarde van „9“ in de derde kolom is 0,904 standaardafwijkingen lager dan de gemiddelde waarde van de kolom.

Enzovoort.

Meer R-tutorials vindt u hier .

Einen Kommentar hinzufügen

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