วิธีใช้ฟังก์ชัน tapply() ใน r (พร้อมตัวอย่าง)
ฟังก์ชัน tapply() ใน R สามารถใช้ฟังก์ชันกับเวกเตอร์ โดยจัดกลุ่มตามเวกเตอร์อื่นได้
ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:
แทปเปอร์ (X, ดัชนี, สนุก, ..)
ทอง:
- X : เวกเตอร์ที่จะใช้ฟังก์ชันกับ
- INDEX : เวกเตอร์เพื่อจัดกลุ่ม
- FUN : ฟังก์ชั่นที่จะใช้
ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในทางปฏิบัติกับกรอบข้อมูลต่อไปนี้ใน R:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
points=c(14, 19, 13, 8, 15, 15, 17, 19),
assists=c(4, 3, 3, 5, 9, 14, 15, 12))
#view data frame
df
team position points assists
1 AG 14 4
2 AG 19 3
3 AF 13 3
4 AF 8 5
5 BG 15 9
6 BG 15 14
7 BF 17 15
8 BF 19 12
ตัวอย่างที่ 1: ใช้ฟังก์ชันกับตัวแปร โดยจัดกลุ่มตามตัวแปร
รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน tapply() เพื่อคำนวณค่า คะแนน เฉลี่ย โดยจัดกลุ่มตาม ทีม :
#calculate mean of points, grouped by team
tapply(df$points, df$team, mean)
AB
13.5 16.5
จากผลลัพธ์เราจะเห็นได้ว่า:
- คะแนนเฉลี่ยของทีม A คือ 13.5
- คะแนนเฉลี่ยของทีม B คือ 16.5
โปรดทราบว่าคุณยังสามารถรวมอาร์กิวเมนต์เพิ่มเติมหลังฟังก์ชัน เช่น na.rm เพื่อระบุว่าคุณต้องการคำนวณค่าเฉลี่ยโดยไม่สนใจค่า NA ในกรอบข้อมูล:
#calculate mean of points, grouped by team
tapply(df$points, df$team, mean, na. rm = TRUE )
AB
13.5 16.5
ตัวอย่างที่ 2: ใช้ฟังก์ชันกับตัวแปร โดยจัดกลุ่มตามตัวแปรหลายตัว
รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน tapply() เพื่อคำนวณค่า คะแนน เฉลี่ย โดยจัดกลุ่มตาม ทีม และ ตำแหน่ง :
# calculate mean of points, grouped by team and position
tapply(df$points, list(df$team, df$position), mean, na. rm = TRUE )
FG
A 10.5 16.5
B 18.0 15.0
จากผลลัพธ์เราจะเห็นได้ว่า:
- คะแนนเฉลี่ยของทีม A และตำแหน่ง F คือ 10.5
- คะแนนเฉลี่ยของทีม A และตำแหน่ง G คือ 16.5
- คะแนนเฉลี่ยของทีม B และตำแหน่ง F คือ 18.0
- คะแนนเฉลี่ยของทีม B และตำแหน่ง G คือ 15.0
หมายเหตุ : ในตัวอย่างนี้ เราได้จัดกลุ่มตามตัวแปรสองตัว แต่เราสามารถรวมตัวแปรได้มากเท่าที่เราต้องการในฟังก์ชัน list() เพื่อจัดกลุ่มตัวแปรมากยิ่งขึ้น
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีใช้ฟังก์ชันทั่วไปอื่นๆ ใน R:
วิธีใช้ฟังก์ชัน dim() ใน R
วิธีใช้ฟังก์ชัน table() ใน R
วิธีใช้ฟังก์ชัน sign() ใน R