วิธีสร้างตัวแปรหมวดหมู่จากการดำเนินการต่อใน r


คุณสามารถใช้ฟังก์ชัน cut() ใน R เพื่อสร้างตัวแปรหมวดหมู่จากตัวแปรต่อเนื่อง

ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:

 df$cat_variable <- cut(df$continuous_variable,
                       breaks=c(5, 10, 15, 20, 25),
                       labels=c(' A ', ' B ', ' C ', ' D '))

โปรดทราบว่า ตัวแบ่ง ระบุค่าที่จะหารตัวแปรต่อเนื่องด้วย และ ป้ายกำกับ ระบุป้ายกำกับที่จะกำหนดให้กับค่าของตัวแปรหมวดหมู่ใหม่

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่าง: การสร้างตัวแปรเด็ดขาดจากความต่อเนื่องใน R

สมมติว่าเรามี data frame ต่อไปนี้ใน R:

 #create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'),
                 points=c(78, 82, 86, 94, 99, 104, 109, 110))

#view data frame
df

  team points
1 To 78
2 B 82
3 C 86
4 D 94
5 E 99
6 F 104
7 G 109
8:11 a.m.

ปัจจุบัน คะแนน เป็นตัวแปรต่อเนื่อง

เราสามารถใช้ฟังก์ชัน cut() เพื่อตัดให้เป็นตัวแปรหมวดหมู่ได้:

 #add new column that cuts 'points' into categories
df$cat <- cut(df$points,
              breaks=c(70, 80, 90, 100, 110),
              labels=c('Bad', 'OK', 'Good', 'Great'))

#view updated data frame
df

  team points cat
1 To 78 Bad
2 B 82 OK
3 C 86 OK
4 D 94 Good
5 E 99 Good
6 F 104 Great
7 G 109 Great
8:110 Great

เราสร้างตัวแปรหมวดหมู่ใหม่ที่เรียกว่า cat ซึ่งจัดอันดับแต่ละทีมในกรอบข้อมูลเป็น Bad, OK, Good หรือ Excellent ตาม คะแนน ของพวกเขา

เราสามารถใช้ฟังก์ชัน class() เพื่อตรวจสอบคลาสของตัวแปรใหม่นี้ได้:

 #check class of 'cat' column
class(df$cat)

[1] “factor”

เราเห็นว่า cat ตัวแปรเป็นปัจจัย

นอกจากนี้เรายังสามารถใช้ฟังก์ชัน table() เพื่อนับการเกิดขึ้นของแต่ละหมวดหมู่ในตัวแปร cat :

 #count occurrences of each category in 'cat' variable
table(df$cat)
  Bad OK Good Great 
    1 2 2 3

โปรดทราบว่าหากคุณไม่ได้ระบุอาร์กิวเมนต์ ป้าย กำกับให้กับฟังก์ชัน cut() R จะใช้ช่วงของค่าช่วงเวลาเป็นป้ายกำกับ:

 #add new column that cuts 'points' into categories
df$cat <- cut(df$points, breaks=c(70, 80, 90, 100, 110))

#view updated data frame
df

  team points cat
1 A 78 (70.80]
2 B 82 (80.90]
3 C 86 (80.90]
4 D 94 (90,100]
5 E 99 (90,100]
6 F 104 (100,110]
7 G 109 (100,110]
8:110 (100,110]

ในบางกรณี คุณอาจต้องการใช้สิ่งนี้มากกว่าการใช้ป้ายกำกับที่กำหนดเอง

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่นๆ ใน R:

วิธีการแปลงตัวแปรเด็ดขาดให้เป็นตัวเลขใน R
วิธีสร้างตัวแปรหมวดหมู่ใน R
วิธีการพล็อตข้อมูลหมวดหมู่ใน R

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *