فاکتورها (Factors)
«فاکتور (Factor)» برای دسته بندی داده هاست. هر دسته را «سطح (Level)» می گوییم. مثل جنسیت یا سبک موسیقی. این کار مثل گروه بندی دانش آموزان بر اساس کلاس است.
ساخت فاکتور با factor()
با تابع factor() از روی یک بردار، فاکتور بساز. خروجی سطوح را نگه می دارد.
نمونه: ساخت و چاپ فاکتور
# Create a factor
music_genre <- factor(c(
"Jazz",
"Rock",
"Classic",
"Classic",
"Pop",
"Jazz",
"Rock",
"Jazz"
))
# Print the factor
music_genre
دیدن سطح ها با levels()
تابع levels() فقط نام سطح ها را نشان می دهد. ترتیب سطوح مهم است.
نمونه: نمایش سطح ها
music_genre <- factor(c(
"Jazz",
"Rock",
"Classic",
"Classic",
"Pop",
"Jazz",
"Rock",
"Jazz"
))
levels(music_genre)
تعریف سطح ها هنگام ساخت
با آرگومان levels= می توانی سطوح دلخواه را تعیین کنی.
نمونه: افزودن سطح «Other»
music_genre <- factor(
c(
"Jazz",
"Rock",
"Classic",
"Classic",
"Pop",
"Jazz",
"Rock",
"Jazz"
),
levels = c("Classic", "Jazz", "Pop", "Rock", "Other")
)
levels(music_genre)
طول فاکتور با length()
تابع length() تعداد آیتم های فاکتور را برمی گرداند.
نمونه: شمارش آیتم ها
music_genre <- factor(c(
"Jazz",
"Rock",
"Classic",
"Classic",
"Pop",
"Jazz",
"Rock",
"Jazz"
))
length(music_genre)
دسترسی به آیتم ها با اندیس
با براکت [ ] به آیتم ها دسترسی بگیر. شماره گذاری از یک شروع می شود.
نمونه: آیتم سوم
music_genre <- factor(c(
"Jazz",
"Rock",
"Classic",
"Classic",
"Pop",
"Jazz",
"Rock",
"Jazz"
))
music_genre[3]
تغییر مقدار آیتم
برای تغییر مقدار، اندیس را بنویس. مقدار باید جزو سطح ها باشد.
نمونه: تغییر آیتم سوم به Pop
music_genre <- factor(c(
"Jazz",
"Rock",
"Classic",
"Classic",
"Pop",
"Jazz",
"Rock",
"Jazz"
))
music_genre[3] <- "Pop"
music_genre[3]
هشدار: اگر مقدار جدید در سطح ها نباشد، خطا یا NA تولید می شود.
نمونه: خطای سطح نامعتبر
music_genre <- factor(c(
"Jazz",
"Rock",
"Classic",
"Classic",
"Pop",
"Jazz",
"Rock",
"Jazz"
))
music_genre[3] <- "Opera"
music_genre[3]
افزودن سطح جدید و تغییر موفق
اول سطح جدید را در levels= تعریف کن. سپس مقدار را تغییر بده.
نمونه: افزودن Opera و تغییر آیتم سوم
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]
گام های تمرینی
- یک فاکتور از سبک های موسیقی بساز.
- سطح ها را با
levels()نمایش بده. - سطح «Other» را اضافه کن.
- آیتم دوم را به «Other» تغییر بده.
- خطای سطح نامعتبر را عمداً بازتولید کن.
مطالعه مرتبط: داده فریم ها و آرایه ها. همچنین از فاکتور در R برای مرور سریع استفاده کن.
جمع بندی سریع
- فاکتور داده ها را دسته بندی می کند.
- سطح ها نام دسته ها هستند.
levels()سطح ها را نشان می دهد.- تغییر مقدار باید در سطح ها باشد.
- سطح جدید را با
levels=اضافه کن.