วิธีสร้าง pivottables อย่างรวดเร็วใน r
ใน Excel ตารางสรุปสาระสำคัญ เป็นวิธีง่ายๆ ในการจัดกลุ่มและสรุปข้อมูล
ตัวอย่างเช่น หากเรามีชุดข้อมูลต่อไปนี้ใน Excel เราสามารถใช้ตารางสรุปข้อมูลเพื่อสรุปยอดขายรวมตามภูมิภาคได้อย่างรวดเร็ว:
สิ่งนี้บอกเรา:
- ภูมิภาค A มียอดขายรวม 51 รายการ
- ภูมิภาค B มียอดขายรวม 85 รายการ
- ภูมิภาค C มียอดขายรวม 140 รายการ
หรืออาจสรุปโดยใช้ตัวชี้วัดอื่น เช่น ยอดขายเฉลี่ยตามภูมิภาค:
ปรากฎว่าเราสามารถสร้างตารางเดือยที่คล้ายกันใน R ได้อย่างรวดเร็วโดยใช้ฟังก์ชัน group_by() และ summary() จากแพ็คเกจ dplyr
บทช่วยสอนนี้มีตัวอย่างวิธีการดำเนินการหลายประการ
ตัวอย่าง: สร้าง PivotTable ใน R
ขั้นแรก เรามาสร้างชุดข้อมูลเดียวกันใน R ที่เราใช้ในตัวอย่างก่อนหน้าจาก Excel:
#create data frame df <- data. frame (region=c('A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C', 'C'), device=c('X', 'X', 'Y', 'X', 'Y', 'Y', 'X', 'X', 'Y', 'Y'), sales=c(12, 18, 21, 22, 34, 29, 38, 36, 34, 32)) #view data frame df region device sales 1AX 12 2AX18 3 AY 21 4 BX22 5 BY 34 6 BY 29 7 CX 38 8CX36 9 CY 34 10 CY 32
ต่อไป มาโหลดแพ็คเกจ dplyr และใช้ฟังก์ชัน group_by() และ summary() เพื่อจัดกลุ่มตามภูมิภาคและค้นหาผลรวมของยอดขายตามภูมิภาค:
library (dplyr) #find sum of sales by region df %>% group_by (region) %>% summarize (sum_sales = sum (sales)) # A tibble: 3 x 2 region sum_sales 1 to 51 2 B 85 3 C 140
เราจะเห็นว่าตัวเลขเหล่านี้ตรงกับตัวเลขที่แสดงในตัวอย่างเบื้องต้นของ Excel
นอกจากนี้เรายังสามารถคำนวณยอดขายเฉลี่ยตามภูมิภาคได้:
#find average sales by region df %>% group_by (region) %>% summarize (mean_sales = mean (sales)) # A tibble: 3 x 2 region mean_sales 1 to 17 2 B 28.3 3 C 35
ขอย้ำอีกครั้งว่าตัวเลขเหล่านี้ตรงกับตัวเลขที่แสดงในตัวอย่าง Excel ก่อนหน้า
โปรดทราบว่าเราสามารถจัดกลุ่มตามตัวแปรหลายตัวได้ ตัวอย่างเช่น เราสามารถหาผลรวมของยอดขายที่จัดกลุ่มตามภูมิภาค และ ประเภทอุปกรณ์:
#find sum of sales by region and device type df %>% group_by (region, device) %>% summarize (sum_sales = sum (sales)) # A tibble: 6 x 3 # Groups: region [3] region device sum_sales 1AX30 2 AY 21 3 BX22 4 BY 63 5 CX 74 6 CY 66
แหล่งข้อมูลเพิ่มเติม
วิธีทำ VLOOKUP (คล้ายกับ Excel) ใน R
คู่มือฉบับสมบูรณ์: วิธีจัดกลุ่มและสรุปข้อมูลใน R