วิธีแบ่งข้อมูลออกเป็นกลุ่มขนาดเท่ากันใน 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