ปัจจัย 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