วิธีสร้างตารางความถี่ตามกลุ่มใน r
คุณสามารถใช้ฟังก์ชันต่อไปนี้จากแพ็คเกจ dplyr เพื่อสร้างตารางความถี่ตามกลุ่มใน R:
library (dplyr) df %>% group_by (var1, var2) %>% summarize (Freq=n())
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: สร้างตารางความถี่ตามกลุ่ม
สมมติว่าเรามี data frame ต่อไปนี้ใน R:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
position=c('G', 'G', 'G', 'F', 'G', 'F', 'F', 'C'))
#view data frame
df
team position
1 AG
2 AG
3 AG
4 AF
5 BG
6 BF
7 BF
8 BC
สมมติว่าเราต้องการสร้างตารางความถี่ที่แสดงความถี่ของแต่ละตำแหน่งโดยจัดกลุ่มตามทีม
เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อทำสิ่งนี้:
library (dplyr)
#calculate frequency of position, grouped by team
df %>%
group_by (team, position) %>%
summarize (Freq=n())
# A tibble: 5 x 3
# Groups: team [2]
team position Freq
1 AF 1
2 AG 3
3 BC 1
4 BF 2
5 BG 1
ต่อไปนี้เป็นวิธีการตีความผลลัพธ์:
- ผู้เล่น 1 คนจากทีม A ครองตำแหน่ง “F”
- ผู้เล่น 3 คนจากทีม A มีตำแหน่ง ‘G’
- ผู้เล่น 1 คนจากทีม B ครองตำแหน่ง “C”
- ผู้เล่น 2 คนจากทีม B มีตำแหน่ง ‘F’
- ผู้เล่น 1 คนจากทีม B ครองตำแหน่ง “G”
โปรดทราบว่าเราสามารถเปลี่ยนชื่อคอลัมน์ที่มีความถี่ได้โดยการเปลี่ยนชื่อตัวแปรในฟังก์ชัน summary()
ตัวอย่างเช่น เราอาจเปลี่ยนชื่อคอลัมน์เป็น “count” แทน:
library (dplyr)
#calculate frequency of position, grouped by team
df %>%
group_by (team, position) %>%
summarize (count=n())
# A tibble: 5 x 3
# Groups: team [2]
team position count
1 AF 1
2 AG 3
3 BC 1
4 BF 2
5 BG 1
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการใช้งานฟังก์ชันทั่วไปอื่น ๆ ใน dplyr:
วิธีการคำนวณความถี่สัมพัทธ์โดยใช้ dplyr
วิธีจัดเรียงตัวแปรตามกลุ่มโดยใช้ dplyr
วิธีเลือกคอลัมน์ตามดัชนีโดยใช้ dplyr