R'de sayısal bir faktöre nasıl dönüştürülür (örneklerle)
R’de sayısal bir değişkeni faktöriyel değişkene dönüştürmek için kullanabileceğiniz iki yöntem vardır:
Yöntem 1: as.factor() işlevini kullanın
df$factor_variable <- as. factor (df$numeric_variable)
Bu, sayısal değişkeni, orijinal sayısal değişkendeki benzersiz değerlerin sayısına eşit sayıda seviyeye sahip bir faktör değişkenine dönüştürecektir.
Yöntem 2: Cut()’ı kullanın
df$factor_variable <- cut(df$numeric_variable, 3 , labels=c(' lab1 ', ' lab2 ', ' lab3 '))
Bu özel örnek, sayısal değişkeni eşit aralıklı 3 değere “keserek” sayısal değişkeni faktöriyel bir değişkene dönüştürecektir.
Aşağıdaki örnekler, R’deki aşağıdaki veri çerçevesiyle her yöntemin pratikte nasıl kullanılacağını gösterir:
#create data frame
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C', 'C', 'D'),
points=c(12, 15, 22, 29, 35, 24, 11, 24))
#view data frame
df
team points
1 to 12
2 to 15
3 B 22
4 B 29
5 C 35
6 C 24
7 C 11
8 D 24
#view structure of data frame
str(df)
'data.frame': 8 obs. of 2 variables:
$ team: chr "A" "A" "B" "B" ...
$ points: num 12 15 22 29 35 24 11 24
Örnek 1: as.factor() Kullanarak Sayısal Bir Sayıyı Faktöre Dönüştürme
Aşağıdaki kod, nokta sütununu sayısaldan faktöre dönüştürmek için as.factor() işlevinin nasıl kullanılacağını gösterir:
#convert points column from numeric to factor
df$points <- as. factor (df$points)
#view updated data frame
df
team points
1 to 12
2 to 15
3 B 22
4 B 29
5 C 35
6 C 24
7 C 11
8 D 24
#view updated structure of data frame
str(df)
'data.frame': 8 obs. of 2 variables:
$ team: chr "A" "A" "B" "B" ...
$ points: Factor w/ 7 levels "11","12","15",..: 2 3 4 6 7 5 1 5
Veri çerçevesinin yapısını görselleştirmek için str() fonksiyonunu kullanarak, nokta sütununun artık sütundaki 7 benzersiz sayısal değeri temsil eden 7 farklı seviyeye sahip bir faktör olduğunu görebiliriz.
Örnek 2: Cut() kullanarak bir sayıyı faktöre dönüştürme
Aşağıdaki kod, nokta sütununu sayısal bir değişkenden 3 düzeyli faktör değişkenine dönüştürmek için Cut() işlevinin nasıl kullanılacağını gösterir:
#convert points column from numeric to factor with three levels
df$points <- cut(df$points, 3 , labels=c(' OK ', ' Good ', ' Great '))
#view updated data frame
df
team points
1 A OK
2 A OK
3 B Good
4 B Great
5 C Great
6 C Good
7 C OK
8 D Good
#view updated structure of data frame
str(df)
'data.frame': 8 obs. of 2 variables:
$ team: chr "A" "A" "B" "B" ...
$ points: Factor w/ 3 levels "OK","Good","Great": 1 1 2 3 3 2 1 2
Sonuçtan, puan değişkeninin sayısal bir değişkenden üç seviyeli ve aşağıdaki etiketlere sahip bir faktör değişkenine dönüştürüldüğünü görebiliriz:
- “ELBETTE”
- “İYİ”
- “Harika”
Bu örnekte üç düzey kullanmayı seçtiğimizi unutmayın, ancak Cut() işlevindeki 3’ü başka bir değerle değiştirerek sayısal değişkeni istediğiniz kadar düzeye bölmekten çekinmeyin.
Ek kaynaklar
Aşağıdaki eğitimlerde R’de diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
R’de sayısal karaktere nasıl dönüştürülür
R’de bir faktör sayısala nasıl dönüştürülür?
R’de faktör karaktere nasıl dönüştürülür