วิธีการคำนวณสถิติเชิงพรรณนาใน 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