Kurs

Faktörler, R'de kategorik değişkenleri alan ve veriyi düzeyler halinde saklayan değişkenlerdir. Bu işlevin temel kullanım alanı veri analizinde, özellikle de istatistiksel analizdedir. Ayrıca veri fazlalığını azaltmaya ve bellekte çok yer tasarrufu sağlamaya yardımcı olur.
Not: Kategorik değişken, değerlerini etiket veya adlara göre alan değişkenlerdir. Örneğin, bir insanın kan grubu A, B, AB ya da O olabilir.
factor fonksiyonu
Kullanım: Az sayıda değere sahip verileri kategorize etmek.
Parametreler: factor(v): v bir değer vektörü olabilir.
Bir faktörün nasıl çalıştığına ilişkin örneğe bakalım.
Aşağıdaki kodda, "Male" ve "Female" olmak üzere iki kategorik değişken, yani faktör değerleri olduğunu görebilirsiniz.
gender <- c("Male","Female","Female","Male","Female")
'factor(gender)' kullanılarak cinsiyet için bir faktör oluşturalım ve bunu 'gender.factor' adlı bir değişkende saklayalım.
gender.factor <- factor(gender)
gender.factor
- Male
- Female
- Female
- Male
- Female
Düzeyler:
- 'Female'
- 'Male'
Yukarıdaki kod aşağıdaki çıktıyı verir:
Male Female Female Male Female
Levels:
'Female' 'Male'
Görüldüğü gibi, değerler giriş vektörüyle aynı şekilde yazdırılır. Ayrıca 'Female' ve 'Male' olan 'Levels' alfabetik olarak sıralanmıştır.
factor fonksiyonunun yapısı
Aşağıdaki kodda 'str(gender.factor)' kullanarak factor fonksiyonunun yapısını inceleyelim.
str(gender.factor)
Factor w/ 2 levels "Female","Male": 2 1 1 2 1
Factor w/ 2 levels "Female","Male": 2 1 1 2 1
Yukarıdaki çıktı, 2 düzeyli bir faktör olduğunu gösterir. factor, gender gibi karakter vektörünü tamsayı değerlerden oluşan bir vektöre dönüştürür. "Female" birinci düzeydir ve 1 olarak, "Male" ise ikinci düzeydir ve 2 olarak kodlanır.
Ayrıca karakterden sayısala kodlamanın temel amacı, yinelenen kategorilerin fazlalık oluşturması ve bellekte çok yer kaplamasıdır. Ancak factor kullanmak, bellekte yer tasarrufu yapma yükünü azaltır.
Düzey Sırasını Değiştirme
Düzey sırasını değiştirelim; böylece "Female" 2, "Male" ise 1 olsun.
"Male" ve "Female" düzeylerini "levels" argümanına bir vektör olarak geçirerek cinsiyet için yeni bir faktör oluşturalım. Sonuç, "gender.factor2" adlı değişkende saklanır.
gender.factor2 <- factor(gender,levels=c("Male","Female"))
gender.factor2
str(gender.factor2)
- Male
- Female
- Female
- Male
- Female
Düzeyler:
- 'Male'
- 'Female'
Factor w/ 2 levels "Male","Female": 1 2 2 1 2
'gender.factor2' yazdırılır ve 'str(gender.factor2)' ile yapısı gösterilir; aşağıdaki değişiklikler görülebilir.
Male Female Female Male Female
Levels:
'Male' 'Female'
Factor w/ 2 levels "Male","Female": 1 2 2 1 2
Yukarıdaki kod, "Male" için kodlamanın 1, "Female" için 2 olduğunu gösterir. Bu, önceki kodda tam tersi olan 'gender.factor'dan farklıdır.
Faktör Düzeylerini Yeniden Adlandırma
Girişteki vektör değerlerinin adını, ilk argüman olarak "Male" ve "Female" değerlerini içeren 'levels' ve ikinci argüman olarak "Gen_Male" ve "Gen_Female" içeren 'labels' kullanarak değiştirelim.
factor(gender,levels = c("Male","Female"),labels = c("Gen_Male","Gen_Female"))
- Gen_Male
- Gen_Female
- Gen_Female
- Gen_Male
- Gen_Female
Düzeyler:
- 'Gen_Male'
- 'Gen_Female'
Gen_Male Gen_Female Gen_Female Gen_Male Gen_Female
Levels:
'Gen_Male' 'Gen_Female'
Yukarıdaki kod, "Male" adının "Gen_Male" ve "Female" adının "Gen_Female" olarak değiştirildiği bir çıktı verir.
Kategorik Bir Değişkeni Sıralama
Sıralı kategorik değerlerle çalışırken sıralamanın önemli olduğu farklı bir örneğe bakalım. Örneğin bir pantolonun bedeni için Large "L", Extra Large "XL" ve Extra Extra Large "XXL" artan düzende yer alabilir. Aşağıdaki kodda "L", "XL" ve "XXL" karakterlerinin vektör girdisi 'pant' değişkeninde saklanır. 'pant.factor' değişkeni, düzeyleri artan düzende içeren 'levels = c("L", "XL", "XXL")' parametresine ve ihtiyacınıza göre sıralamayı mümkün kılan 'ordered = TRUE' ayarına sahiptir.
pant <- c("XL","L","XL","XXL","L","XL")
pant.factor <- factor(pant,ordered = TRUE,levels = c("L","XL","XXL"))
pant.factor
pant.factor[1] > pant.factor[2]
- XL
- L
- XL
- XXL
- L
- XL
Düzeyler:
- 'L'
- 'XL'
- 'XXL'
TRUE
XL L XL XXL L XL
Levels:'L'< 'XL' < 'XXL'
TRUE
Yukarıdaki çıktı, önce 'pant.factor' ile tüm vektör değerlerinin (XL, L, XL, XXL, L, XL) normal şekilde yazdırıldığını gösterir. 'L' < 'XL' < 'XXL' düzeyleri artan düzende düzenlenmiş olup konsola yazdırılır. Ayrıca 'pant.factor[1] > pant.factor[2]' ifadesi, "XL"'in "L"'den büyük olup olmadığını karşılaştırır ve sonuç olarak TRUE yazdırılır.
Tebrikler
Tebrikler, bu eğitimin sonuna geldiniz!
Bu eğitimde, R'deki factor fonksiyonunu bir örnekle birlikte; yapısı, düzey sırası, düzeylerin yeniden adlandırılması ve son olarak kategorik değerlerin sıralanmasıyla ele aldınız.
R hakkında daha fazla bilgi edinmek isterseniz, DataCamp'in R'ye Giriş dersini inceleyin.
R'de Fonksiyon Kullanımı eğitimimize de göz atın.
