Gegevens centreren in r (met voorbeelden)


Het centreren van een dataset betekent dat de gemiddelde waarde van elke individuele waarneming in de dataset wordt afgetrokken.

Stel dat we bijvoorbeeld de volgende gegevensset hebben:

Het blijkt dat de gemiddelde waarde 14 is. Om deze dataset te centreren, trekken we dus 14 af van elke individuele waarneming:

Hoe datacenters te gebruiken

Merk op dat de gemiddelde waarde van de gecentreerde dataset nul is.

Deze zelfstudie biedt verschillende voorbeelden van hoe u gegevens in R kunt centreren.

Voorbeeld 1: Centreer de waarden van een vector

De volgende code laat zien hoe u de base R scale() -functie gebruikt om waarden in een vector te centreren:

 #createvector
data <- c(4, 6, 9, 13, 14, 17, 18, 19, 19, 21)

#subtract the mean value from each observation in the vector
scale(data, scale= FALSE )

      [,1]
 [1,] -10
 [2,] -8
 [3,] -5
 [4,] -1
 [5,] 0
 [6,] 3
 [7,] 4
 [8,] 5
 [9,] 5
[10,] 7

attr(,"scaled:center")
[1] 14

De resulterende waarden zijn de gecentreerde waarden van de dataset. De functie scale() vertelt ons ook dat de gemiddelde waarde van de dataset 14 is.

Merk op dat de functie scale() standaard het gemiddelde van elke individuele waarneming aftrekt en dit vervolgens deelt door de standaarddeviatie.

Door scale=FALSE op te geven, vertellen we R dat hij niet moet delen door de standaarddeviatie.

Voorbeeld 2: Kolommen centreren in een gegevensframe

De volgende code laat zien hoe u de functie sapply() en de functie scale() van de R-database gebruikt om de waarden van elke kolom van een dataframe te centreren:

 #create data frame
df <- data.frame(x = c(1, 4, 5, 6, 6, 8, 9),
                 y = c(7, 7, 8, 8, 8, 9, 12),
                 z = c(3, 3, 4, 4, 6, 7, 7))

#center each column in the data frame
df_new <- sapply(df, function (x) scale(x, scale= FALSE ))

#display data frame
df_new

              X Y Z
[1,] -4.5714286 -1.4285714 -1.8571429
[2,] -1.5714286 -1.4285714 -1.8571429
[3,] -0.5714286 -0.4285714 -0.8571429
[4,] 0.4285714 -0.4285714 -0.8571429
[5,] 0.4285714 -0.4285714 1.1428571
[6,] 2.4285714 0.5714286 2.1428571
[7,] 3.4285714 3.5714286 2.1428571

We kunnen controleren of het gemiddelde van elke kolom in het nieuwe dataframe nul is met behulp van de colMeans() functie:

 colMeans(df_new)

            xyz 2.537653e-16 -2.537653e-16 3.806479e-16 

Waarden worden weergegeven in wetenschappelijke notatie, maar elke waarde is in wezen nul.

Aanvullende bronnen

Hoe u het gemiddelde kunt nemen over kolommen in R
Hoe specifieke kolommen in R op te tellen
Hoe u uitschieters uit meerdere kolommen in R kunt verwijderen

Einen Kommentar hinzufügen

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