Cara menggunakan fungsi scale() di r (dengan contoh)


Fungsi scale() di R dapat digunakan untuk menskalakan nilai dalam vektor, matriks, atau bingkai data.

Fungsi ini 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 .

Contoh berikut menunjukkan cara menggunakan fungsi ini dalam praktiknya.

Contoh 1: Nilai Skala dalam Vektor

Misalkan kita memiliki vektor nilai berikut di R:

 #define vector of values
x <- c(1, 2, 3, 4, 5, 6, 7, 8, 9)

#view mean and standard deviation of values
mean(x)

[1] 5

sd(x)

[1] 2.738613

Kode berikut menunjukkan cara menskalakan nilai vektor menggunakan fungsi scale() :

 #scale the values of x
x_scaled <- scale(x)

#view scaled values
x_scaled

            [,1]
 [1,] -1.4605935
 [2,] -1.0954451
 [3,] -0.7302967
 [4,] -0.3651484
 [5,] 0.0000000
 [6,] 0.3651484
 [7,] 0.7302967
 [8,] 1.0954451
 [9,] 1.4605935

Berikut adalah cara setiap nilai skala dihitung:

  • Nilai 1 : (1 – 5) / 2,738613 = -1,46
  • Nilai 2 : (2 – 5) / 2,738613 = -1,09
  • Nilai 3 : (3 – 5) / 2,738613 = -0,73

Dan seterusnya.

Perhatikan bahwa jika kita menentukan scale=FALSE maka fungsi tersebut tidak akan dibagi dengan deviasi standar saat melakukan penskalaan:

 #scale the values of x but don't divide by standard deviation
x_scaled <- scale(x, scale = FALSE )

#view scaled values
x_scaled

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

Berikut adalah cara setiap nilai skala dihitung:

  • Nilai 1: 1 – 5 = -4
  • Nilai 2: 2 – 5 = -3
  • Nilai 3: 3 – 5 = -2

Dan seterusnya.

Contoh 2: Menskalakan nilai kolom dalam bingkai data

Paling sering, kita menggunakan fungsi scale() ketika kita ingin menskalakan nilai beberapa kolom dalam bingkai data sehingga setiap kolom memiliki rata-rata 0 dan deviasi standar 1.

Misalnya, kita memiliki bingkai data berikut di R:

 #create data frame
df <- data. frame (x=c(1, 2, 3, 4, 5, 6, 7, 8, 9),
                 y=c(10, 20, 30, 40, 50, 60, 70, 80, 90))

#view data frame
df

  xy
1 1 10
2 2 20
3 3 30
4 4 40
5 5 50
6 6 60
7 7 70
8 8 80
9 9 90

Perhatikan bahwa rentang nilai variabel y jauh lebih besar daripada rentang nilai variabel x.

Kita dapat menggunakan fungsi scale() untuk menskalakan nilai dalam dua kolom sedemikian rupa sehingga nilai skala x dan y keduanya memiliki mean 0 dan standar deviasi 1:

 #scale values in each column of data frame
df_scaled <- scale(df)

#view scaled data frame
df_scaled

               xy
 [1,] -1.4605935 -1.4605935
 [2,] -1.0954451 -1.0954451
 [3,] -0.7302967 -0.7302967
 [4,] -0.3651484 -0.3651484
 [5,] 0.0000000 0.0000000
 [6,] 0.3651484 0.3651484
 [7,] 0.7302967 0.7302967
 [8,] 1.0954451 1.0954451
 [9,] 1.4605935 1.4605935

Kolom x dan y sekarang memiliki rata-rata 0 dan simpangan baku 1.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di R:

Cara menormalkan data di R
Bagaimana standarisasi data di R
Cara menghitung rata-rata kolom di R

Tambahkan komentar

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