ปัจจัย R
ปัจจัย
ปัจจัยที่ใช้ในการจัดหมวดหมู่ข้อมูล ตัวอย่างของปัจจัยคือ:
- ประชากรศาสตร์: ชาย/หญิง
- ดนตรี: ร็อก, ป็อป, คลาสสิค, แจ๊ส
- การฝึก: ความแข็งแกร่ง ความแข็งแกร่ง
ในการสร้างปัจจัย ให้ใช้factor()
ฟังก์ชันและเพิ่มเวกเตอร์เป็นอาร์กิวเมนต์:
ตัวอย่าง
# Create a factor
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
# Print the factor
music_genre
ผลลัพธ์:
[1] Jazz Rock Classic Classic Pop Jazz Rock Jazz Levels: Classic Jazz Pop Rock
จากตัวอย่างด้านบนจะเห็นได้ว่าปัจจัยมีสี่ระดับ (หมวดหมู่): คลาสสิก แจ๊ส ป๊อป และร็อค
หากต้องการพิมพ์เฉพาะระดับ ให้ใช้levels()
ฟังก์ชัน:
ตัวอย่าง
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
levels(music_genre)
ผลลัพธ์:
[1] "Classic" "Jazz" "Pop" "Rock"
คุณยังสามารถกำหนดระดับโดยเพิ่มlevels
อาร์กิวเมนต์ภายใน
factor()
ฟังก์ชัน:
ตัวอย่าง
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"), levels = c("Classic", "Jazz", "Pop", "Rock", "Other"))
levels(music_genre)
ผลลัพธ์:
[1] "Classic" "Jazz" "Pop" "Rock" "Other"
ความยาวปัจจัย
ใช้length()
ฟังก์ชันเพื่อค้นหาว่ามีกี่รายการในปัจจัย:
ตัวอย่าง
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
length(music_genre)
ผลลัพธ์:
[1] 8
ปัจจัยการเข้าถึง
ในการเข้าถึงรายการในปัจจัย อ้างอิงหมายเลขดัชนี โดยใช้[]
วงเล็บ:
ตัวอย่าง
เข้าถึงรายการที่สาม:
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
music_genre[3]
ผลลัพธ์:
[1] Classic Levels: Classic Jazz Pop Rock
เปลี่ยนมูลค่ารายการ
หากต้องการเปลี่ยนค่าของรายการใดรายการหนึ่ง ให้อ้างอิงกับหมายเลขดัชนี:
ตัวอย่าง
เปลี่ยนค่าของรายการที่สาม:
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
music_genre[3] <- "Pop"
music_genre[3]
ผลลัพธ์:
[1] Pop Levels: Classic Jazz Pop Rock
โปรดทราบว่าคุณไม่สามารถเปลี่ยนค่าของรายการใดรายการหนึ่งได้ หากไม่ได้ระบุไว้ในแฟกเตอร์ ตัวอย่างต่อไปนี้จะทำให้เกิดข้อผิดพลาด:
ตัวอย่าง
กำลังพยายามเปลี่ยนค่าของรายการที่สาม ("Classic") เป็นรายการที่ไม่มีอยู่/ไม่ได้กำหนดไว้ล่วงหน้า ("Opera"):
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
music_genre[3] <- "Opera"
music_genre[3]
ผลลัพธ์:
Warning message: In `[<-.factor`(`*tmp*`, 3, value = "Opera") : invalid factor level, NA generated
อย่างไรก็ตาม หากคุณได้ระบุไว้ในlevels
อาร์กิวเมนต์ มันจะทำงาน:
ตัวอย่าง
เปลี่ยนค่าของรายการที่สาม:
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]
ผลลัพธ์:
[1] Opera Levels: Classic Jazz Pop Rock Opera