Come ridimensionare solo colonne numeriche in r (con esempio)


È possibile utilizzare la seguente sintassi dal pacchetto dplyr per ridimensionare solo le colonne numeriche di un frame di dati in R:

 library (dplyr)

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

L’esempio seguente mostra come utilizzare questa funzione nella pratica.

Esempio: ridimensiona solo le colonne numeriche utilizzando dplyr

Supponiamo di avere il seguente frame di dati in R che contiene informazioni su vari giocatori di basket:

 #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

Supponiamo di voler utilizzare la funzione di scala in R per ridimensionare solo le colonne numeriche del frame di dati.

Possiamo usare la seguente sintassi per fare ciò:

 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

Da notare che i valori nelle tre colonne numeriche ( punti , assist e rimbalzi ) sono stati scalati mentre la colonna squadra è rimasta invariata.

Note tecniche

La funzione scale() in R utilizza la seguente sintassi di base:

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

Oro:

  • x : Nome dell’oggetto da ridimensionare
  • center : se sottrarre la media durante il ridimensionamento. Il valore predefinito è VERO.
  • scala : se dividere per la deviazione standard durante il ridimensionamento. Il valore predefinito è VERO.

Questa funzione utilizza la seguente formula per calcolare i valori scalati:

x scalato = (x originale – x̄) / s

Oro:

  • x originale : il valore x originale
  • : Il campione significa
  • s : la deviazione standard del campione

Questa operazione è nota anche come normalizzazione dei dati e converte semplicemente ciascun valore originale in un punteggio z .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni utilizzando dplyr:

Come selezionare le colonne per nome usando dplyr
Come selezionare le colonne per indice utilizzando dplyr
Come utilizzare select_if con più condizioni in dplyr

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *