Dplyr: วิธีเปลี่ยนระดับแฟคเตอร์โดยใช้ mutate()


คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้ใน dplyr เพื่อเปลี่ยนระดับของตัวแปรตัวประกอบโดยใช้ฟังก์ชัน mutate() :

 library (dplyr)

df <- df %>% mutate(team=recode(team,
                                ' H ' = ' Hawks ',
                                ' M ' = ' Mavs ',
                                ' C ' = ' Cavs '))

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

  • ‘H’ กลายเป็น ‘เหยี่ยว’
  • ‘M’ กลายเป็น ‘Mavs’
  • ‘C’ กลายเป็น ‘Cavs’

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

ตัวอย่าง: เปลี่ยนระดับปัจจัยโดยใช้ mutate()

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

 #create data frame
df <- data. frame (team=factor(c('H', 'H', 'M', 'M', 'C', 'C')),
                 dots=c(22, 35, 19, 15, 29, 23))

#view data frame
df

  team points
1:22 a.m.
2:35 a.m.
3 M 19
4 M 15
5 C 29
6 C 23

เราสามารถใช้ไวยากรณ์ต่อไปนี้กับฟังก์ชัน mutate() ของแพ็คเกจ dplyr เพื่อเปลี่ยนระดับของตัวแปร ทีม :

 library (dplyr)

#change factor levels of team variable
df <- df %>% mutate(team=recode(team,
                                ' H ' = ' Hawks ',
                                ' M ' = ' Mavs ',
                                ' C ' = ' Cavs '))

#view updated data frame
df

   team points
1 Hawks 22
2 Hawks 35
3 Mavs 19
4 Mavs 15
5 Cavs 29
6 Cavs 23

การใช้ไวยากรณ์นี้ทำให้เราสามารถทำการ เปลี่ยนแปลงต่อไปนี้กับตัวแปร ทีม ในกรอบข้อมูล:

  • ‘H’ กลายเป็น ‘เหยี่ยว’
  • ‘M’ กลายเป็น ‘Mavs’
  • ‘C’ กลายเป็น ‘Cavs’

เราสามารถตรวจสอบได้ว่าระดับปัจจัยมีการเปลี่ยนแปลงโดยใช้ฟังก์ชันระดับ () :

 #display factor levels of team variable
levels(df$team)

[1] “Cavs” “Hawks” “Mavs” 

โปรดทราบว่าคุณสามารถเลือกเปลี่ยนระดับปัจจัยเพียงระดับเดียวแทนการเปลี่ยนแปลงทั้งหมดได้

ตัวอย่างเช่น เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อแทนที่เฉพาะ “H” ด้วย “Hawks” และปล่อยให้ระดับปัจจัยอื่นๆ ไม่เปลี่ยนแปลง:

 library (dplyr)

#change one factor level of team variable
df <- df %>% mutate(team=recode(team, ' H ' = ' Hawks '))

#view updated data frame
df

   team points
1 Hawks 22
2 Hawks 35
3 M 19
4 M 15
5 C 29
6 C 23

โปรดทราบว่า “H” ถูกแทนที่ด้วย “Hawks” แต่ระดับปัจจัยอีกสองระดับยังคงไม่เปลี่ยนแปลง

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

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

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

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

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