R'de veriler nasıl standartlaştırılır: örneklerle


Bir veri kümesini standartlaştırmak, veri kümesindeki tüm değerlerin ortalama değer 0 ve standart sapma 1 olacak şekilde ölçeklenmesi anlamına gelir.

Bunu yapmanın en yaygın yolu, aşağıdaki formülü kullanarak değerleri ölçeklendiren z-puanı standardizasyonunu kullanmaktır:

(x benx ) / s

Altın:

  • x i : veri kümesinin i’inci değeri
  • x : Örnek şu anlama gelir:
  • s : numunenin standart sapması

Aşağıdaki örnekler, z-puanı standardizasyonunu kullanarak bir veri çerçevesindeki bir veya daha fazla değişkeni ölçeklendirmek için R’deki dplyr paketiyle Scale() işlevinin nasıl kullanılacağını gösterir.

Tek bir değişkeni standartlaştırın

Aşağıdaki kod, bir veri çerçevesindeki tek bir değişkenin üç değişkenle nasıl ölçeklendirileceğini gösterir:

 library (dplyr)

#make this example reproducible 
set.seed(1)

#create original data frame
df <- data.frame(var1= runif(10, 0, 50), 
                 var2= runif(10, 2, 23),
                 var3= runif(10, 5, 38))

#view original data frame
df

        var1 var2 var3
1 13.275433 6.325466 35.845273
2 18.606195 5.707692 12.000703
3 28.642668 16.427480 26.505234
4 45.410389 10.066178 9.143318
5 10.084097 18.166670 13.818282
6 44.919484 12.451684 17.741765
7 47.233763 17.069989 5.441881
8 33.039890 22.830028 17.618803
9 31.455702 9.980739 33.699798
10 3.089314 18.326350 16.231517

#scale var1 to have mean = 0 and standard deviation = 1
df2 <- df %>% mutate_at (c(' var1 '), ~( scale (.) %>% as.vector ))
df2

          var1 var2 var3
1 -0.90606801 6.325466 35.845273
2 -0.56830963 5.707692 12.000703
3 0.06760377 16.427480 26.505234
4 1.13001072 10.066178 9.143318
5 -1.10827188 18.166670 13.818282
6 1.09890684 12.451684 17.741765
7 1.24554014 17.069989 5.441881
8 0.34621281 22.830028 17.618803
9 0.24583830 9.980739 33.699798
10 -1.55146305 18.326350 16.231517

Yalnızca ilk değişkenin ölçeklendiğini, diğer iki değişkenin aynı kaldığını unutmayın. Yeni ölçeklendirilmiş değişkenin ortalama değerinin 0 ve standart sapmasının 1 olduğunu hemen doğrulayabiliriz:

 #calculate mean of scaled variable
mean(df2$var1)

[1] -4.18502e-18 #basically zero

#calculate standard deviation of scaled variable 
sd(df2$var1)

[1] 1

Birden fazla değişkeni standartlaştırın

Aşağıdaki kod, bir veri çerçevesindeki birden çok değişkenin aynı anda nasıl ölçeklendirileceğini gösterir:

 library (dplyr)

#make this example reproducible 
set.seed(1)

#create original data frame
df <- data.frame(var1= runif(10, 0, 50), 
                 var2= runif(10, 2, 23),
                 var3= runif(10, 5, 38))

#scale var1 and var2 to have mean = 0 and standard deviation = 1
df3 <- df %>% mutate_at (c(' var1 ', ' var2 '), ~( scale (.) %>% as.vector ))
df3

          var1 var2 var3
1 -0.90606801 -1.3045574 35.845273
2 -0.56830963 -1.4133223 12.000703
3 0.06760377 0.4739961 26.505234
4 1.13001072 -0.6459703 9.143318
5 -1.10827188 0.7801967 13.818282
6 1.09890684 -0.2259798 17.741765
7 1.24554014 0.5871157 5.441881
8 0.34621281 1.6012242 17.618803
9 0.24583830 -0.6610127 33.699798
10 -1.55146305 0.8083098 16.231517

Tüm değişkenleri standartlaştırın

Aşağıdaki kod, mutate_all işlevini kullanarak bir veri çerçevesindeki tüm değişkenlerin nasıl ölçekleneceğini gösterir:

 library (dplyr)

#make this example reproducible 
set.seed(1)

#create original data frame
df <- data.frame(var1= runif(10, 0, 50), 
                 var2= runif(10, 2, 23),
                 var3= runif(10, 5, 38))

#scale all variables to have mean = 0 and standard deviation = 1
df4 <- df %>% mutate_all (~( scale (.) %>% as.vector ))
df4

          var1 var2 var3
1 -0.90606801 -1.3045574 1.6819976
2 -0.56830963 -1.4133223 -0.6715858
3 0.06760377 0.4739961 0.7600871
4 1.13001072 -0.6459703 -0.9536246
5 -1.10827188 0.7801967 -0.4921813
6 1.09890684 -0.2259798 -0.1049130
7 1.24554014 0.5871157 -1.3189757
8 0.34621281 1.6012242 -0.1170501
9 0.24583830 -0.6610127 1.4702281
10 -1.55146305 0.8083098 -0.2539824

Ek kaynaklar

Aşağıdaki eğitimlerde R’de diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

R’deki veriler nasıl normalleştirilir
R’de standart sapma nasıl hesaplanır
Eksik değerlerin tümü R’ye nasıl aktarılır?
R’de Veri Nasıl Dönüştürülür (Log, Kare Kök, Küp Kök)

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir