เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การแบ่งกลุ่มตัวแปรตัวเลขให้เป็น factor

Dan เพื่อนเก่าของคุณส่งรายชื่อพันธบัตรเรทติ้ง AAA จำนวน 50 รายการมาให้ในชื่อ AAA_rank โดยแต่ละรายการมีคะแนนตั้งแต่ 1-100 ที่บ่งบอกว่า Dan คิดว่าพันธบัตรนั้นจะทำกำไรได้มากแค่ไหน (100 คือทำกำไรได้มากที่สุด) คุณต้องการวิเคราะห์ข้อมูลนี้เพิ่มเติม แต่ก่อนอื่นคงจะดีถ้าสามารถจัดกลุ่มพันธบัตรตามคะแนนได้ เพื่อแบ่งเป็นกลุ่มตั้งแต่ทำกำไรน้อยไปจนถึงมากที่สุด ทำให้วิเคราะห์ได้ง่ายขึ้น

นี่คือตัวอย่างที่ดีของการสร้าง factor จาก numeric vector วิธีที่ง่ายที่สุดคือใช้ cut() ด้านล่างนี้ คะแนน 1-100 ของ Dan ถูกแบ่งออกเป็น 5 กลุ่มที่มีช่วงเท่ากัน สังเกตว่า ( ใน levels ของ factor หมายความว่า ไม่รวม ตัวเลขที่อยู่ติดกัน และ ] หมายความว่า รวม ตัวเลขนั้นไว้ในกลุ่ม

head(AAA_rank)

[1]  31  48 100  53  85  73

AAA_factor <- cut(x = AAA_rank, breaks = c(0, 20, 40, 60, 80, 100))

head(AAA_factor)

[1] (20,40]  (40,60]  (80,100] (40,60]  (80,100] (60,80] 
Levels: (0,20] (20,40] (40,60] (60,80] (80,100]

ในฟังก์ชัน cut() การใช้ breaks = ช่วยให้ระบุกลุ่มที่ต้องการให้ R แบ่งข้อมูลได้ตามต้องการ

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

R เบื้องต้นสำหรับการเงิน

ดูคอร์ส

คำแนะนำการฝึกหัด

  • แทนที่จะแบ่งเป็น 5 กลุ่ม ลองแบ่งเป็น 4 กลุ่มดูสิ ใน breaks = ให้ใช้ vector ตั้งแต่ 0 ถึง 100 โดยแต่ละค่าห่างกัน 25 แล้ว assign ไปยัง AAA_factor
  • ชื่อของทั้ง 4 กลุ่มยังไม่สื่อความหมายมากนัก ใช้ levels() เพื่อเปลี่ยนชื่อ levels ให้เป็น "low", "medium", "high" และ "very_high" ตามลำดับ
  • แสดงผล AAA_factor ที่ตั้งชื่อแล้ว
  • Plot AAA_factor เพื่อดูผลลัพธ์ที่ได้

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Create 4 buckets for AAA_rank using cut()
AAA_factor <- cut(x = ___, breaks = ___)

# Rename the levels 


# Print AAA_factor


# Plot AAA_factor
plot(___)
แก้ไขและรันโค้ด