Hoe u alleen numerieke kolommen in r kunt schalen (met voorbeeld)


U kunt de volgende syntaxis uit het dplyr- pakket gebruiken om alleen de numerieke kolommen van een dataframe in R te schalen:

 library (dplyr)

df %>% mutate(across(where(is. numeric ), scale))

Het volgende voorbeeld laat zien hoe u deze functie in de praktijk kunt gebruiken.

Voorbeeld: Schaal alleen numerieke kolommen met dplyr

Stel dat we het volgende dataframe in R hebben dat informatie bevat over verschillende basketbalspelers:

 #create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E'),
                 dots=c(22, 34, 30, 12, 18),
                 assists=c(7, 9, 9, 12, 14),
                 rebounds=c(5, 10, 10, 8, 8))

#view data frame
df

  team points assists rebounds
1 to 22 7 5
2 B 34 9 10
3 C 30 9 10
4 D 12 12 8
5 E 18 14 8

Stel dat we de schaalfunctie in R willen gebruiken om alleen de numerieke kolommen van het dataframe te schalen.

We kunnen hiervoor de volgende syntaxis gebruiken:

 library (dplyr)

#scale only the numeric columns in the data frame
df %>% mutate(across(where(is. numeric ), scale))

  team points assists rebounds
1 A -0.1348400 -1.153200 -1.56144012
2 B 1.2135598 -0.432450 0.87831007
3 C 0.7640932 -0.432450 0.87831007
4 D -1.2585064 0.648675 -0.09759001
5 E -0.5843065 1.369425 -0.09759001

Merk op dat de waarden in de drie numerieke kolommen ( punten , assists en rebounds ) werden geschaald terwijl de teamkolom ongewijzigd bleef.

Technische opmerkingen

De functie scale() in R gebruikt de volgende basissyntaxis:

 scale(x, center = TRUE , scale = TRUE )

Goud:

  • x : Naam van het object dat moet worden geschaald
  • midden : of het gemiddelde moet worden afgetrokken bij het schalen. De standaardwaarde is WAAR.
  • schaal : Of er bij het schalen moet worden gedeeld door de standaardafwijking. De standaardwaarde is WAAR.

Deze functie gebruikt de volgende formule om geschaalde waarden te berekenen:

geschaald x = ( oorspronkelijke x – x̄) / s

Goud:

  • originele x : de oorspronkelijke x-waarde
  • : De steekproefgemiddelden
  • s : de standaarddeviatie van het monster

Dit wordt ook wel datanormalisatie genoemd, waarbij elke oorspronkelijke waarde eenvoudigweg wordt omgezet in een z-score .

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken kunt uitvoeren met dplyr:

Kolommen op naam selecteren met dplyr
Kolommen selecteren op index met behulp van dplyr
Hoe select_if te gebruiken met meerdere voorwaarden in dplyr

Einen Kommentar hinzufügen

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