วิธีการคำนวณสถิติเชิงพรรณนาใน r (พร้อมตัวอย่าง)


สถิติเชิงพรรณนา คือค่าที่อธิบายชุดข้อมูล

ช่วยให้เราเข้าใจว่า ศูนย์กลาง ของชุดข้อมูลอยู่ที่ใดตลอดจนการกระจายของค่าในชุดข้อมูล

มีสองฟังก์ชันที่เราสามารถใช้เพื่อคำนวณสถิติเชิงพรรณนาใน R:

วิธีที่ 1: ใช้ฟังก์ชันสรุป ()

 summary(my_data)

ฟังก์ชัน สรุป() คำนวณค่าต่อไปนี้สำหรับแต่ละตัวแปรในกรอบข้อมูลใน R:

  • ขั้นต่ำ
  • ควอร์ไทล์ที่ 1
  • ค่ามัธยฐาน
  • หมายถึง
  • ควอร์ไทล์ที่ 3
  • ขีดสุด

วิธีที่ 2: ใช้ฟังก์ชัน sapply()

 sapply(my_data, sd, na. rm = TRUE )

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

ตัวอย่างเช่น ฟังก์ชัน sapply() ด้านบนจะคำนวณค่าเบี่ยงเบนมาตรฐานของแต่ละตัวแปรในกรอบข้อมูล

ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันทั้งสองนี้ในการคำนวณสถิติเชิงพรรณนาสำหรับตัวแปรในกรอบข้อมูลใน R

ตัวอย่าง: การคำนวณสถิติเชิงพรรณนาใน R

สมมติว่าเรามีกรอบข้อมูลต่อไปนี้ใน R ซึ่งมีตัวแปรสามตัว:

 #create data frame
df <- data. frame (x=c(1, 4, 4, 5, 6, 7, 10, 12),
                 y=c(2, 2, 3, 3, 4, 5, 11, 11),
                 z=c(8, 9, 9, 9, 10, 13, 15, 17))

#view data frame
df

   X Y Z
1 1 2 8
2 4 2 9
3 4 3 9
4 5 3 9
5 6 4 10
6 7 5 13
7 10 11 15
8 12 11 17

เราสามารถใช้ฟังก์ชัน summary() เพื่อคำนวณสถิติเชิงพรรณนาต่างๆ สำหรับแต่ละตัวแปร:

 #calculate descriptive statistics for each variable
summary(df)

       xyz Min. : 1,000 Min. : 2,000 Min. : 8.00  
 1st Qu.: 4,000 1st Qu.: 2,750 1st Qu.: 9.00  
 Median: 5,500 Median: 3,500 Median: 9.50  
 Mean: 6.125 Mean: 5.125 Mean: 11.25  
 3rd Qu.: 7,750 3rd Qu.: 6,500 3rd Qu.: 13.50  
 Max. :12,000 Max. :11,000 Max. :17.00

นอกจากนี้เรายังสามารถใช้วงเล็บเพื่อคำนวณเฉพาะสถิติเชิงพรรณนาสำหรับตัวแปรเฉพาะในกรอบข้อมูล:

 #calculate descriptive statistics for 'x' and 'z' only
summary(df[, c(' x ', ' z ')])

       xz Min. : 1,000 Min. : 8.00  
 1st Qu.: 4.000 1st Qu.: 9.00  
 Median: 5.500 Median: 9.50  
 Mean: 6.125 Mean: 11.25  
 3rd Qu.: 7.750 3rd Qu.: 13.50  
 Max. :12,000 Max. :17.00 

นอกจากนี้เรายังสามารถใช้ฟังก์ชัน sapply() เพื่อคำนวณสถิติเชิงพรรณนาเฉพาะสำหรับแต่ละตัวแปรได้

ตัวอย่างเช่น รหัสต่อไปนี้แสดงวิธีคำนวณค่าเบี่ยงเบนมาตรฐานของแต่ละตัวแปร:

 #calculate standard deviation for each variable
sapply(df, sd, na. rm = TRUE )

       X Y Z
3.522884 3.758324 3.327376

นอกจากนี้เรายังสามารถใช้ ฟังก์ชัน() ใน sapply() เพื่อคำนวณสถิติเชิงพรรณนาได้

ตัวอย่างเช่น รหัสต่อไปนี้แสดงวิธีการคำนวณ ช่วง สำหรับแต่ละตัวแปร:

 #calculate range for each variable
sapply(df, function(df) max(df, na. rm = TRUE )-min(df, na. rm = TRUE ))

 X Y Z
11 9 9

สุดท้ายนี้ เราสามารถสร้างฟังก์ชันที่ซับซ้อนซึ่งคำนวณสถิติเชิงพรรณนา จากนั้นใช้ฟังก์ชันนี้กับฟังก์ชัน sapply()

ตัวอย่างเช่น รหัสต่อไปนี้แสดงวิธีการคำนวณ โหมด ของแต่ละตัวแปรในกรอบข้อมูล:

 #define function that calculates mode
find_mode <- function (x) {
  u <- unique(x)
  tab <- tabulate(match(x, u))
  u[tab == max(tab)]
}

#calculate mode for each variable
sapply(df, find_mode)

$x
[1] 4

$y
[1] 2 3 11

$z
[1] 9

จากผลลัพธ์เราจะเห็นได้ว่า:

  • โหมดของตัวแปร x คือ 4
  • โหมดของตัวแปร y คือ 2 , 3 และ 11 (เนื่องจากแต่ละค่าเหล่านี้ปรากฏบ่อยที่สุด)
  • โหมดของตัวแปร z คือ 9

การใช้ฟังก์ชัน summary() และ sapply() ทำให้เราสามารถคำนวณสถิติเชิงพรรณนาใดๆ ที่เราต้องการสำหรับตัวแปรแต่ละตัวในกรอบข้อมูลได้

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

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน R:

วิธีสร้างตารางสรุปใน R
วิธีค้นหาพิสัยระหว่างควอไทล์ใน R
วิธีลบค่าผิดปกติใน R

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

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