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
- x̄ : 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