คู่มือฉบับสมบูรณ์: วิธีจัดกลุ่มและสรุปข้อมูลใน r


งานทั่วไปสองงานที่คุณจะทำเมื่อวิเคราะห์ข้อมูลคือการจัดกลุ่มและการสรุปข้อมูล

โชคดีที่แพ็คเกจ dplyr ใน R ช่วยให้คุณสามารถจัดกลุ่มและสรุปข้อมูลได้อย่างรวดเร็ว

บทช่วยสอนนี้ให้คำแนะนำโดยย่อในการเริ่มต้นใช้งาน dplyr

ติดตั้งและโหลดแพ็คเกจ dplyr

ก่อนที่คุณจะสามารถใช้ฟังก์ชันต่างๆ ในแพ็คเกจ dplyr ได้ คุณต้องโหลดแพ็คเกจก่อน:

 #install dplyr (if not already installed)
install.packages(' dplyr ')

#load dplyr 
library(dplyr)

ต่อไป เราจะแสดงตัวอย่างการใช้ฟังก์ชันของ dplyr เพื่อจัดกลุ่มและสรุปข้อมูลโดยใช้ชุดข้อมูล R ในตัวที่เรียกว่า mtcars :

 #obtain rows and columns of mtcars
dim(mtcars)

[1] 32 11

#view first six rows of mtcars
head(mtcars)

                   mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3,460 20.22 1 0 3 1

ไวยากรณ์พื้นฐานที่เราจะใช้จัดกลุ่มและสรุปข้อมูลคือ:

 data %>%
  group_by (col_name) %>%
  summarize (summary_name = summary_function)

หมายเหตุ: ฟังก์ชัน summary() และ summarise() เทียบเท่ากัน

ตัวอย่างที่ 1: ค้นหาค่าเฉลี่ยและค่ามัธยฐานตามกลุ่ม

รหัสต่อไปนี้แสดงวิธีการคำนวณ การวัดแนวโน้มส่วนกลาง โดยกลุ่มรวมทั้งค่าเฉลี่ยและค่ามัธยฐาน:

 #find mean mpg by cylinder
mtcars %>%
  group_by (cyl) %>%
  summarize (mean_mpg = mean(mpg, na.rm = TRUE ))

# A tibble: 3 x 2
    cyl mean_mpg
      
1 4 26.7
2 6 19.7
3 8 15.1

#find median mpg by cylinder
mtcars %>%
  group_by (cyl) %>%
  summarize (median_mpg = median(mpg, na.rm = TRUE ))

# A tibble: 3 x 2
    cyl median_mpg
        
1 4 26  
2 6 19.7
3 8 15.2

ตัวอย่างที่ 2: การค้นหามาตรการการแพร่กระจายตามกลุ่ม

รหัสต่อไปนี้แสดงวิธีคำนวณการวัดการกระจายตัวตามกลุ่ม รวมถึงค่าเบี่ยงเบนมาตรฐาน ช่วงระหว่างควอไทล์ และค่าเบี่ยงเบนมัธยฐานสัมบูรณ์:

 #find sd, IQR, and mad by cylinder
mtcars %>%
group_by (cyl) %>%
summarize (sd_mpg = sd(mpg, na.rm = TRUE ),
            iqr_mpg = IQR(mpg, na.rm = TRUE ),
            mad_mpg = mad(mpg, na.rm = TRUE ))

# A tibble: 3 x 4
    cyl sd_mpg iqr_mpg mad_mpg
          
1 4 4.51 7.60 6.52
2 6 1.45 2.35 1.93
3 8 2.56 1.85 1.56

ตัวอย่างที่ 3: ค้นหาตัวเลขตามกลุ่ม

รหัสต่อไปนี้แสดงวิธีค้นหาตัวเลขและหมายเลขเฉพาะตามกลุ่มใน R:

 #find row count and unique row count by cylinder
mtcars %>%
group_by (cyl) %>%
summarize (count_mpg = n(),
            u_count_mpg = n_distinct(mpg))

# A tibble: 3 x 3
    cyl count_mpg u_count_mpg
              
1 4 11 9
2 6 7 6
3 8 14 12

ตัวอย่างที่ 4: ค้นหาเปอร์เซ็นไทล์ตามกลุ่ม

รหัสต่อไปนี้แสดงวิธีค้นหาเปอร์เซ็นไทล์ที่ 90 ของค่า mpg ตามกลุ่มทรงกระบอก:

 #find 90th percentile of mpg for each cylinder group
mtcars %>%
group_by (cyl) %>%
summarize (quant90 = quantile(mpg, probs = .9))

# A tibble: 3 x 2
    cyl quant90
     
1 4 32.4
2 6 21.2
3 8 18.3

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

คุณสามารถค้นหาเอกสารประกอบแพ็คเกจ dplyr ฉบับเต็ม รวมถึงเอกสารสรุปการแสดงภาพที่เป็นประโยชน์ได้ ที่นี่

ฟังก์ชันที่มีประโยชน์อื่นๆ ที่คุณสามารถใช้กับ group_by() และ summary() มีฟังก์ชันในการ กรองแถวของกรอบข้อมูล และ จัดเรียงตามลำดับที่แน่นอน

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

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