วิธีใช้ 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

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

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