วิธีใช้ ungroup() ใน dplyr (พร้อมตัวอย่าง)
คุณสามารถใช้ฟังก์ชัน ungroup() ใน dplyr เพื่อยกเลิกการจัดกลุ่มแถวได้ หลังจากใช้ฟังก์ชัน group_by() เพื่อสรุปหนึ่งตัวแปรต่อกลุ่ม
ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในทางปฏิบัติ
ตัวอย่าง: วิธีใช้ ungroup() ใน dplyr
สมมติว่าเรามี data frame ต่อไปนี้ใน R:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
dots=c(14, 18, 22, 26, 36, 34),
assists=c(5, 4, 4, 8, 7, 3))
#view data frame
df
team points assists
1 to 14 5
2 to 18 4
3 to 22 4
4 B 26 8
5 B 36 7
6 B 34 3
ตอนนี้สมมติว่าเราใช้รหัสต่อไปนี้เพื่อคำนวณค่า คะแนน เฉลี่ยโดยจัดกลุ่มตาม ทีม :
library (dplyr)
#calculate mean of points, grouped by team
df_new <- df %>%
group_by(team) %>%
summarize(mean_points = mean(points)) %>%
A group()
#view results
df_new
# A tibble: 2 x 2
team mean_points
1 to 18
2 B 32
การใช้ไวยากรณ์นี้ทำให้เราสามารถคำนวณค่าเฉลี่ยของ คะแนน ที่จัดกลุ่มตาม ทีม ได้ แต่เราสูญเสียคอลัมน์ ช่วยเหลือ ไป
หากต้องการเก็บคอลัมน์ ตัวช่วยไว้ เราสามารถใช้ mutate() แทน summary() และยังคงใช้ ungroup() ต่อท้าย:
library (dplyr)
#calculate mean of points, grouped by team
df_new <- df %>%
group_by(team) %>%
mutate(mean_points = mean(points)) %>%
A group()
#view results
df_new
# A tibble: 6 x 4
team points assists mean_points
1 A 14 5 18
2 A 18 4 18
3 A 22 4 18
4 B 26 8 32
5 B 36 7 32
6 B 34 3 32
ครั้งนี้เราสามารถเก็บคอลัมน์ ช่วยเหลือไว้ได้ และใช้ฟังก์ชัน mutate() เราได้เพิ่มคอลัมน์ใหม่ที่เรียกว่า Mean_points ซึ่งจะแสดงค่าคะแนนเฉลี่ยของแต่ละทีม
เนื่องจากเราใช้ฟังก์ชัน ungroup() เราจึงสามารถคำนวณกรอบข้อมูลใหม่นี้ได้โดยไม่ต้องกังวลกับการคำนวณที่ได้รับผลกระทบจากตัวแปรที่จัดกลุ่ม
หากเราไม่ได้ใช้ฟังก์ชัน ungroup() แถวในกรอบข้อมูลจะยังคงถูกจัดกลุ่มเข้าด้วยกัน ซึ่งอาจส่งผลที่ไม่ได้ตั้งใจเมื่อเราทำการคำนวณอื่นๆ ในภายหลัง
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน R:
วิธีกรองค่าที่ไม่ซ้ำโดยใช้ dplyr
วิธีกรองตามเงื่อนไขต่างๆ โดยใช้ dplyr
วิธีนับจำนวนครั้งที่เกิดขึ้นในคอลัมน์ใน R