วิธีบันทึกค่าใหม่โดยใช้ dplyr


บางครั้งคุณอาจสนใจที่จะบันทึกค่าบางค่าลงใน data frame ใน R โชคดีที่สามารถทำได้ง่ายๆ โดยใช้ฟังก์ชัน recode() จากแพ็คเกจ dplyr

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

ตัวอย่างที่ 1: โค้ดใหม่คอลัมน์เดียวในดาต้าเฟรม

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

 library(dplyr)

#create dataframe 
df <- data.frame(player = c('A', 'B', 'C', 'D'),
                 points = c(24, 29, 13, 15),
                 result = c('Win', 'Loss', 'Win', 'Loss'))

#view dataframe 
df

#change 'Win' and 'Loss' to '1' and '0'
df %>% mutate (result=recode(result, ' Win '='1', ' Loss '='0'))

       player points result
1 to 24 1
2 B 29 0
3 C 13 1
4 D 15 0

ตัวอย่างที่ 2: โค้ดคอลัมน์เดียวใหม่ในกรอบข้อมูลและระบุค่า NA

รหัสต่อไปนี้แสดงวิธีการรหัสใหม่คอลัมน์เดียวในกรอบข้อมูลและกำหนดค่า NA ให้กับค่าใด ๆ ที่ไม่ได้กำหนดค่าใหม่อย่างชัดเจน:

 library(dplyr)

#create dataframe 
df <- data.frame(player = c('A', 'B', 'C', 'D'),
                 points = c(24, 29, 13, 15),
                 result = c('Win', 'Loss', 'Win', 'Loss'))

#view dataframe 
df

#change 'Win' to '1' and give all other values a value of NA
df %>% mutate (result=recode(result, ' Win '='1', .default =NA_character_))

       player points result
1 to 24 1
2 B 29 <NA>
3 C 13 1
4 D 15 <NA>

ตัวอย่างที่ 3: โค้ดใหม่หลายคอลัมน์ใน dataframe

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

 library(dplyr)

#create dataframe 
df <- data.frame(player = c('A', 'B', 'C', 'D'),
                 points = c(24, 29, 13, 15),
                 result = c('Win', 'Loss', 'Win', 'Loss'))

#recode 'player' and 'result' columns
df %>% mutate (player=recode(player, ' A '='Z'),
              result=recode(result, ' Win '='1', ' Loss '='0'))

       player points result
1 Z 24 1
2 B 29 0
3 C 13 1
4 D 15 0

คุณสามารถดูเอกสารฉบับเต็มสำหรับฟังก์ชัน recode() ได้ที่นี่

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

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