วิธีสร้างตารางความถี่ตามกลุ่มใน 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

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

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