R factor’lari


ULASHISH

Factorlar

Factorlar ma’lumotlarni toifalarga ajratish uchun ishlatiladi. Factorlarga misollar:

  • Demografiya: erkak/ayol
  • Musiqa: Rock, Pop, Classic, Jazz
  • Mashg‘ulot: kuch, chidamlilik

Factor yaratish uchun factor() funksiyasidan foydalaning va unga argument sifatida vektor bering:

Misol

# Create a factor music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz")) # Print the factor music_genre

Natija:

[1] Jazz    Rock    Classic Classic Pop     Jazz    Rock    Jazz
Levels: Classic Jazz Pop Rock
O‘zingiz sinab ko‘ring »

Yuqoridagi misoldan ko‘rinib turibdiki, factor to‘rtta darajaga (toifaga) ega: Classic, Jazz, Pop va Rock.

Faqat darajalarni chiqarish uchun levels() funksiyasidan foydalaning:

Misol

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz")) levels(music_genre)

Natija:

[1] "Classic" "Jazz"    "Pop"     "Rock"   
O‘zingiz sinab ko‘ring »

factor() funksiyasi ichiga levels argumentini qo‘shib, darajalarni o‘zingiz belgilashingiz ham mumkin:

Misol

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"), levels = c("Classic", "Jazz", "Pop", "Rock", "Other")) levels(music_genre)

Natija:

[1] "Classic" "Jazz"    "Pop"     "Rock"    "Other"
O‘zingiz sinab ko‘ring »

Factor uzunligi

Factorda nechta element borligini bilish uchun length() funksiyasidan foydalaning:

Misol

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz")) length(music_genre)

Natija:

[1] 8
O‘zingiz sinab ko‘ring »


Factorlarga murojaat qilish

Factor elementlariga murojaat qilish uchun [] qavslari yordamida indeks raqamini ko‘rsating:

Misol

Uchinchi elementga murojaat qiling:

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz")) music_genre[3]

Natija:

[1] Classic
Levels: Classic Jazz Pop Rock
O‘zingiz sinab ko‘ring »

Element qiymatini o‘zgartirish

Muayyan elementning qiymatini o‘zgartirish uchun uning indeks raqamiga murojaat qiling:

Misol

Uchinchi elementning qiymatini o‘zgartiring:

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz")) music_genre[3] <- "Pop" music_genre[3]

Natija:

[1] Pop
Levels: Classic Jazz Pop Rock
O‘zingiz sinab ko‘ring »

E’tibor bering, agar qiymat factorda oldindan ko‘rsatilmagan bo‘lsa, muayyan elementning qiymatini unga o‘zgartira olmaysiz. Quyidagi misol xatoga olib keladi:

Misol

Uchinchi element ("Classic") qiymatini mavjud bo‘lmagan/oldindan belgilanmagan qiymatga ("Opera") o‘zgartirishga urinish:

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz")) music_genre[3] <- "Opera" music_genre[3]

Natija:

Warning message:
In `[<-.factor`(`*tmp*`, 3, value = "Opera") :
  invalid factor level, NA generated
O‘zingiz sinab ko‘ring »

Biroq, agar uni levels argumenti ichida oldindan ko‘rsatgan bo‘lsangiz, bu ishlaydi:

Misol

Uchinchi elementning qiymatini o‘zgartiring:

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"), levels = c("Classic", "Jazz", "Pop", "Rock", "Opera")) music_genre[3] <- "Opera" music_genre[3]

Natija:

[1] Opera
Levels: Classic Jazz Pop Rock Opera
O‘zingiz sinab ko‘ring »

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!