วิธีเพิ่มคอลัมน์การนับลงใน data frame ใน r


คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อเพิ่มคอลัมน์ “นับ” ลงในกรอบข้อมูลใน R:

 df %>%
  group_by(var1) %>%
  mutate(var1_count = n())

ไวยากรณ์เฉพาะนี้จะเพิ่มคอลัมน์ชื่อ var1_count ลงในกรอบข้อมูลที่มีจำนวนค่าในคอลัมน์ชื่อ var1

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่าง: เพิ่มคอลัมน์ตัวเลขใน R

สมมติว่าเรามีกรอบข้อมูลต่อไปนี้ใน R ซึ่งมีข้อมูลเกี่ยวกับผู้เล่นบาสเกตบอลต่างๆ:

 #define data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'),
                 position=c('G', 'F', 'F', 'F', 'G', 'G', 'F', 'F'),
                 points=c(18, 22, 19, 14, 14, 11, 20, 28))

#view data frame
df

  team position points
1 AG 18
2 AF 22
3 FY 19
4 BF 14
5 BG 14
6 BG 11
7 BF 20
8 BF 28

เราสามารถใช้โค้ดต่อไปนี้เพื่อเพิ่มคอลัมน์ชื่อ team_count ซึ่งประกอบด้วยจำนวนแต่ละทีม:

 library (dplyr)

#add column that shows total count of each team
df %>%
  group_by(team) %>%
  mutate(team_count = n())

# A tibble: 8 x 4
# Groups: team [2]
  team position points team_count
              
1 AG 18 3
2 AF 22 3
3 FY 19 3
4 BF 14 5
5 BG 14 5
6 BG 11 5
7 BF 20 5
8 BF 28 5

มี 3 ไลน์ที่มีค่าทีมเป็น A และ 5 ไลน์ที่มีค่าทีมเป็น B

ดังนั้น:

  • สำหรับแต่ละแถวที่ team เท่ากับ A ค่าในคอลัมน์ team_count คือ 3
  • สำหรับแต่ละแถวที่ team เท่ากับ B ค่าในคอลัมน์ team_count คือ 5

คุณยังสามารถเพิ่มคอลัมน์ “บัญชี” ซึ่งจัดกลุ่มตัวแปรหลายตัวไว้ด้วยกันได้

ตัวอย่างเช่น รหัสต่อไปนี้แสดงวิธีการเพิ่มคอลัมน์ “บัญชี” ที่จัดกลุ่ม ตัวแปรทีม และ ตำแหน่ง :

 library (dplyr)

#add column that shows total count of each team and position
df %>%
  group_by(team, position) %>%
  mutate(team_pos_count = n())

# A tibble: 8 x 4
# Groups: team, position [4]
  team position points team_pos_count
                  
1 AG 18 1
2 AF 22 2
3 FY 19 2
4 BF 14 3
5 BG 14 2
6 BG 11 2
7 BF 20 3
8 BF 28 3

จากผลลัพธ์เราจะเห็นได้ว่า:

  • มี 1 แถวที่มี A อยู่ในคอลัมน์ ทีม และ G อยู่ในคอลัมน์ ตำแหน่ง
  • มี 2 แถวที่มี A อยู่ในคอลัมน์ ทีม และ F อยู่ในคอลัมน์ ตำแหน่ง
  • มี 3 แถวที่มี B อยู่ในคอลัมน์ ทีม และ F อยู่ในคอลัมน์ ตำแหน่ง
  • มี 2 แถวที่มี B อยู่ในคอลัมน์ ทีม และ F อยู่ในคอลัมน์ ตำแหน่ง

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน R:

วิธีจัดกลุ่มตามและนับแบบมีเงื่อนไขใน R
วิธีนับจำนวนองค์ประกอบในรายการใน R
วิธีเลือกแถวเดี่ยวใน data frame ใน R

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

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