วิธีเพิ่มคอลัมน์ใน data frame ใน r โดยใช้ dplyr


คุณสามารถใช้ฟังก์ชัน mutate() ของแพ็คเกจ dplyr เพื่อเพิ่มหนึ่งคอลัมน์ขึ้นไปใน data frame ใน R

ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:

วิธีที่ 1: เพิ่มคอลัมน์ที่ส่วนท้ายของกรอบข้อมูล

 df %>%
mutate (new_col=c(1, 3, 3, 5, 4))

วิธีที่ 2: เพิ่มคอลัมน์ก่อนคอลัมน์เฉพาะ

 df %>%
mutate (new_col=c(1, 3, 3, 5, 4),
        .before=col_name)

วิธีที่ 3: เพิ่มคอลัมน์หลังคอลัมน์เฉพาะ

 df %>%
mutate (new_col=c(1, 3, 3, 5, 4),
        .after=col_name)

วิธีที่ 4: เพิ่มคอลัมน์ตามคอลัมน์อื่น

 df %>%
mutate (new_col= if_else (.$col_name > 10, ' A ', ' B '))

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

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 points=c(12, 14, 19, 24, 24, 22, 30, 9),
                 assists=c(4, 6, 6, 8, 3, 7, 8, 11))

#view data frame
df

  team points assists
1 to 12 4
2 to 14 6
3 To 19 6
4 to 24 8
5 B 24 3
6 B 22 7
7 B 30 8
8 B 9 11

ตัวอย่างที่ 1: เพิ่มคอลัมน์ที่ส่วนท้ายของกรอบข้อมูล

รหัสต่อไปนี้แสดงวิธีการเพิ่มคอลัมน์ที่ส่วนท้ายของกรอบข้อมูล:

 #add 'blocks' column at end of data frame
df <- df %>%
        mutate (blocks=c(1, 3, 3, 2, 4, 3, 6, 2))

#view data frame
df

  team points assists blocks
1 to 12 4 1
2 A 14 6 3
3 A 19 6 3
4 A 24 8 2
5 B 24 3 4
6 B 22 7 3
7 B 30 8 6
8 B 9 11 2

โปรดทราบว่าคุณสามารถเพิ่มคอลัมน์ว่างได้โดยเพียงกำหนด NA ให้กับแต่ละค่าในคอลัมน์ใหม่:

 #add empty column at end of data frame
df <- df %>%
        mutate (blocks=NA)

#view data frame
df

  team points assists blocks
1 A 12 4 NA
2 A 14 6 NA
3 A 19 6 NA
4 A 24 8 NA
5 B 24 3 NA
6 B 22 7 NA
7 B 30 8 NA
8 B 9 11 NA

ตัวอย่างที่ 2: เพิ่มคอลัมน์ก่อนคอลัมน์ใดคอลัมน์หนึ่ง

รหัสต่อไปนี้แสดงวิธีการเพิ่มคอลัมน์ก่อนคอลัมน์เฉพาะในกรอบข้อมูล:

 #add 'blocks' column before 'points' column
df <- df %>%
        mutate (blocks=c(1, 3, 3, 2, 4, 3, 6, 2),
              .before=points)

#view data frame
df

  team blocks points assists
1 A 1 12 4
2 to 3 14 6
3 A 3 19 6
4 A 2 24 8
5 B 4 24 3
6 B 3 22 7
7 B 6 30 8
8 B 2 9 11

ตัวอย่างที่ 3: เพิ่มคอลัมน์หลังคอลัมน์ใดคอลัมน์หนึ่ง

รหัสต่อไปนี้แสดงวิธีการเพิ่มคอลัมน์หลังคอลัมน์เฉพาะในกรอบข้อมูล:

 #add 'blocks' column after 'points' column
df <- df %>%
        mutate (blocks=c(1, 3, 3, 2, 4, 3, 6, 2),
              .after=points)

#view data frame
df

  team points blocks assists
1 to 12 1 4
2 A 14 3 6
3 A 19 3 6
4 A 24 2 8
5 B 24 4 3
6 B 22 3 7
7 B 30 6 8
8 B 9 2 11

ตัวอย่างที่ 4: เพิ่มคอลัมน์ตามคอลัมน์อื่น

รหัสต่อไปนี้แสดงวิธีการเพิ่มคอลัมน์ตามคอลัมน์อื่นในกรอบข้อมูล:

 #add 'status' column whose values depend on value in 'points' column
df <- df %>%
        mutate (status= if_else (.$points > 20, ' Good ', ' Bad '))

#view data frame
df

  team points assists status
1 A 12 4 Bad
2 A 14 6 Bad
3 A 19 6 Bad
4 A 24 8 Good
5 B 24 3 Good
6 B 22 7 Good
7 B 30 8 Good
8 B 9 11 Bad

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

บทช่วยสอนต่อไปนี้จะอธิบายวิธีการใช้งานฟังก์ชันทั่วไปอื่น ๆ ใน dplyr:

วิธีเปลี่ยนชื่อคอลัมน์ตามตำแหน่งดัชนีโดยใช้ dplyr
วิธีเลือกคอลัมน์ตามดัชนีโดยใช้ dplyr
วิธีลบแถวโดยใช้ dplyr

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

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