วิธีใช้ฟังก์ชัน cut() ใน r
ฟังก์ชัน cut() ใน R สามารถใช้เพื่อตัดช่วงของค่าลงในถังขยะและระบุป้ายกำกับสำหรับแต่ละถังขยะได้
ฟังก์ชันนี้ใช้ไวยากรณ์ต่อไปนี้:
ตัด (x, ตัวแบ่ง, ป้ายกำกับ = NULL, …)
ทอง:
- x : ชื่อเวกเตอร์
- ตัวแบ่ง : จำนวนตัวแบ่งที่จะสร้างหรือเวกเตอร์ของจุดพัก
- ป้ายกำกับ : ป้ายกำกับสำหรับถังขยะผลลัพธ์
ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในสถานการณ์ต่างๆ โดยมีกรอบข้อมูลต่อไปนี้ใน R:
#create data frame
df <- data. frame (player=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'),
points=c(4, 7, 8, 12, 14, 16, 20, 26, 36))
#view data frame
df
player points
1 to 4
2 B 7
3 C 8
4 D 12
5 E 14
6 F 16
7 G 20
8:26 a.m.
9 I 36
ตัวอย่างที่ 1: ตัดเวกเตอร์ตามจำนวนการแตก
รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน cut() เพื่อสร้างคอลัมน์ใหม่ที่เรียกว่า Category ซึ่งจะตัดคอลัมน์ จุด ออกเป็นกลุ่มที่มีขนาดเท่ากันสี่ขนาด:
#create new column that places each player into four categories based on points
df$category <- cut(df$points, breaks= 4 )
#view updated data frame
df
player points category
1 to 4 (3.97.12]
2 B 7 (3.97.12]
3 C 8 (3.97.12]
4 D 12 (3.97.12]
5 E 14 (12.20]
6 F 16 (12.20]
7 G 20 (12.20]
8:26 a.m. (20.28]
9 I 36 (28.36]
เนื่องจากเราระบุ breaks=4 ฟังก์ชัน cut() จะแบ่งค่าในคอลัมน์จุดออกเป็นกลุ่มที่มีขนาดเท่ากันสี่ขนาด
นี่คือวิธีที่ฟังก์ชัน cut() ทำสิ่งนี้:
- ขั้นแรก เขาพบความแตกต่างระหว่างค่าที่ใหญ่ที่สุดและน้อยที่สุดในคอลัมน์คะแนน (36 – 4 = 32)
- จากนั้นเขาก็หารผลต่างนี้ด้วย 4 (32/4 = 8)
- ผลลัพธ์ที่ได้คือถังขยะสี่ใบกว้างอันละ 8 อัน
หมายเหตุ : ช่วงเวลาต่ำสุดคือ 3.97 แทนที่จะเป็น 4 เนื่องจากฟังก์ชันการทำงานต่อไปนี้จาก เอกสารประกอบ cut() :
เมื่อระบุการหยุดชั่วคราวเป็นตัวเลขตัวเดียว ช่วงของข้อมูลจะถูกแบ่งออกเป็นช่วงของการหยุดชั่วคราวที่มีความยาวเท่ากัน จากนั้นขีดจำกัดด้านนอกจะถูกย้ายออกไปจากช่วง 0.1% เพื่อให้แน่ใจว่าค่าผิดปกติตกอยู่ภายในทั้งสองช่วงของการหยุดชั่วคราว
ตัวอย่างที่ 2: เวกเตอร์การตัดตามจุดพักเฉพาะ
รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน cut() เพื่อสร้างคอลัมน์ใหม่ที่เรียกว่า Category ซึ่งจะตัดคอลัมน์ ของจุด ตามเวกเตอร์ของจุดพักเฉพาะ:
#create new column based on specific break points
df$category <- cut(df$points, breaks=c(0, 10, 15, 20, 40))
#view updated data frame
df
player points category
1 to 4 (0.10]
2 B 7 (0.10]
3 C 8 (0.10]
4 D 12 (10.15]
5 E 14 (10.15]
6 F 16 (15.20]
7 G 20 (15.20]
8:26 a.m. (20.40)
9 I 36 (20.40]
ฟังก์ชัน cut() แบ่งผู้เล่นแต่ละคนออกเป็นหมวดหมู่ตามเวกเตอร์เฉพาะของเบรกพอยต์ที่เราให้ไว้
ตัวอย่างที่ 3: ตัดเวกเตอร์โดยใช้เบรกพอยต์และป้ายกำกับเฉพาะ
รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน cut() เพื่อสร้างคอลัมน์ใหม่ที่เรียกว่า หมวดหมู่ ซึ่งจะตัดคอลัมน์ ของจุด ตามเวกเตอร์ของเบรกพอยต์เฉพาะด้วยป้ายกำกับที่กำหนดเอง:
#create new column based on values in points column
df$category <- cut(df$points,
breaks=c(0, 10, 15, 20, 40),
labels=c(' Bad ', ' OK ', ' Good ', ' Great '))
#view updated data frame
df
player points category
1 A 4 Bad
2 B 7 Bad
3 C 8 Bad
4 D 12 OK
5 E 14 OK
6 F 16 Good
7 G 20 Good
8:26 A.M. Great
9 I 36 Great
คอลัมน์ หมวดหมู่ ใหม่จะจัดอันดับผู้เล่นแต่ละคนว่าแย่ ตกลง ดี หรือยอดเยี่ยม โดยพิจารณาจากค่าที่สอดคล้องกันในคอลัมน์ คะแนน
หมายเหตุ : จำนวนป้ายกำกับจะต้องน้อยกว่าจำนวนเบรกพอยต์หนึ่งรายการเสมอเพื่อหลีกเลี่ยงข้อผิดพลาดต่อไปนี้:
Error in cut.default(df$points, breaks = c(0, 10, 15, 20, 40), labels = c("Bad",:
lengths of 'breaks' and 'labels' differ
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีใช้ฟังก์ชันทั่วไปอื่นๆ ใน R:
วิธีใช้ฟังก์ชัน tabulate() ใน R
วิธีใช้ฟังก์ชัน split() ใน R
วิธีใช้ฟังก์ชัน match() ใน R
วิธีใช้ฟังก์ชัน Replicate() ใน R