Cara menskalakan hanya kolom numerik di r (dengan contoh)


Anda dapat menggunakan sintaks berikut dari paket dplyr untuk menskalakan kolom numerik bingkai data di R saja:

 library (dplyr)

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

Contoh berikut menunjukkan cara menggunakan fungsi ini dalam praktiknya.

Contoh: Skalakan kolom numerik saja menggunakan dplyr

Misalkan kita memiliki kerangka data berikut di R yang berisi informasi tentang berbagai pemain bola 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

Misalkan kita ingin menggunakan fungsi skala di R untuk menskalakan kolom numerik saja dari bingkai data.

Kita dapat menggunakan sintaks berikut untuk melakukan ini:

 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

Perhatikan bahwa nilai dalam tiga kolom numerik ( poin , assist , dan rebound ) diskalakan sementara kolom tim tetap tidak berubah.

Catatan teknis

Fungsi scale() di R menggunakan sintaks dasar berikut:

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

Emas:

  • x : Nama objek yang akan diskalakan
  • center : apakah akan mengurangi mean saat melakukan penskalaan. Standarnya adalah BENAR.
  • skala : Apakah akan membagi dengan deviasi standar saat melakukan penskalaan. Standarnya adalah BENAR.

Fungsi ini menggunakan rumus berikut untuk menghitung nilai berskala:

berskala x = ( asli x – x̄) / s

Emas:

  • x asli : Nilai x asli
  • : Rata-rata sampel
  • s : simpangan baku sampel

Ini juga dikenal sebagai normalisasi data, yang hanya mengubah setiap nilai asli menjadi skor-z .

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya menggunakan dplyr:

Cara memilih kolom berdasarkan nama menggunakan dplyr
Cara memilih kolom berdasarkan indeks menggunakan dplyr
Cara menggunakan select_if dengan beberapa kondisi di dplyr

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *