วิธีแบ่งข้อมูลออกเป็นกลุ่มขนาดเท่ากันใน r


คุณสามารถใช้ฟังก์ชัน cut_number() ของแพ็คเกจ ggplot2 ใน R เพื่อแบ่งเวกเตอร์ออกเป็นกลุ่มที่มีขนาดเท่ากัน

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

cut_number(x,n)

ทอง:

  • x: ชื่อของเวกเตอร์ดิจิทัลที่จะหาร
  • n: จำนวนกลุ่ม

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

ตัวอย่าง: วิธีแบ่งข้อมูลออกเป็นกลุ่มที่มีขนาดเท่ากันใน R

สมมติว่าเรามีกรอบข้อมูลต่อไปนี้ใน R ซึ่งมีข้อมูลเกี่ยวกับคะแนนที่ทำได้โดยผู้เล่นบาสเก็ตบอล 12 คน

 #create data frame
df <- data. frame (player=LETTERS[1:12],
                 points=c(1, 2, 2, 2, 4, 5, 7, 9, 12, 14, 15, 22))

#view data frame
df

   player points
1 to 1
2 B 2
3 C 2
4 D 2
5 E 4
6 F 5
7 G 7
8:9 a.m.
9 I 12
10 D 14
11K15
12 L 22

ที่เกี่ยวข้อง: วิธีใช้ฟังก์ชัน LETTERS ใน R

เราสามารถใช้ฟังก์ชัน cut_number() จากแพ็คเกจ ggplot2 เพื่อสร้างคอลัมน์ใหม่ที่เรียกว่า group ซึ่งจะแบ่งแต่ละแถวของ data frame ออกเป็น 1 ใน 3 กลุ่มตามค่าในคอลัมน์ point :

 library (ggplot2)

#create new column that splits data into three equal sized groups based on points
df$group <- cut_number(df$points, 3)

#view updated data frame
df

   player points group
1 To 1 [1,3.33]
2 B 2 [1,3.33]
3 C 2 [1,3.33]
4 D 2 [1,3.33]
5 E 4 (3.33.10]
6 F 5 (3.33.10]
7 G 7 (3.33.10]
8 A.M. 9 (3.33.10]
9 I 12 (10.22]
10 J 14 (10.22]
11 K 15 (10.22]
12 L 22 (10.22]

ผู้เล่น 12 คนแต่ละคนถูกจัดให้อยู่ในหนึ่งในสามกลุ่มตามค่าที่แสดงในคอลัมน์ คะแนน

จากผลลัพธ์เราจะเห็นได้ว่ามี 3 กลุ่มที่แตกต่างกัน:

  • กลุ่มที่ 1: ค่าของคะแนนอยู่ระหว่าง 1 ถึง 3.33
  • กลุ่มที่ 2: ค่าของคะแนนอยู่ระหว่าง 3.33 ถึง 10
  • กลุ่ม 3: ค่าของคะแนนอยู่ระหว่าง 10 ถึง 22

เราจะเห็นได้ว่ามีผู้เล่นสี่คนในแต่ละกลุ่ม

หากคุณต้องการให้คอลัมน์ กลุ่ม แสดงกลุ่มเป็นค่าจำนวนเต็ม คุณสามารถล้อมฟังก์ชัน cut_number() ในฟังก์ชัน as.numeric() ได้:

 library (ggplot2)

#create new column that splits data into three equal sized groups based on points
df$group <- as. numeric (cut_number(df$points, 3))

#view updated data frame
df

   player points group
1 A 1 1
2 B 2 1
3 C 2 1
4 D 2 1
5 E 4 2
6 F 5 2
7 G 7 2
8:92 a.m.
9 I 12 3
10 D 14 3
11 K 15 3
12 L 22 3

คอลัมน์กลุ่มใหม่ตอนนี้มีค่า 1, 2 และ 3 เพื่อระบุว่าผู้เล่นอยู่ในกลุ่มใด

อีกครั้ง แต่ละกลุ่มมีผู้เล่นสี่คน

หมายเหตุ : หากต้องการแบ่งคอลัมน์จุดออกเป็นมากกว่าสามกลุ่ม เพียงแทนที่ 3 ในฟังก์ชัน cut_number() ด้วยตัวเลขอื่น

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

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

วิธีแยก data frame ใน R
วิธีแบ่งข้อมูลออกเป็นชุดการฝึกอบรมและการทดสอบใน R
วิธีดำเนินการจัดกลุ่มข้อมูลใน R

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

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