วิธีเปลี่ยนชื่อระดับปัจจัยใน r (พร้อมตัวอย่าง)


มีสองวิธีที่คุณสามารถใช้เปลี่ยนชื่อระดับปัจจัยใน R:

วิธีที่ 1: ใช้ระดับฐาน R()

 levels(df$col_name) <- c(' new_name1 ', ' new_name2 ', ' new_name3 ')

วิธีที่ 2: ใช้ recode() จากแพ็คเกจ dplyr

 library (dplyr)

data$col_name <- recode(data$col_name, name1 = ' new_name1 ', 
                                       name2 = ' new_name2 ',
                                       name3 = ' new_name3 ')

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

วิธีที่ 1: ใช้ฟังก์ชันระดับ ()

สมมติว่าเรามี data frame ต่อไปนี้ใน R:

 #create data frame
df <- data. frame (conf = factor(c('North', 'East', 'South', 'West')),
                 points = c(34, 55, 41, 28))

#view data frame
df

   conf points
1 North 34
2 East 55
3 South 41
4 West 28

#view levels of 'conf' variable
levels(df$conf)

[1] “East” “North” “South” “West”

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

 #rename just 'North' factor level
levels(df$conf)[levels(df$conf)==' North '] <- ' N '

#view levels of 'conf' variable
levels(df$conf)

[1] “East” “N” “South” “West”

และรหัสต่อไปนี้แสดงวิธีการเปลี่ยนชื่อแต่ละระดับปัจจัย:

 #rename every factor level
levels(df$conf) <- c(' N ', ' E ', ' S ', ' W ')

#view levels of 'conf' variable
levels(df$conf)

[1] “N” “E” “S” “W”

ตัวอย่างที่ 2: การใช้ฟังก์ชัน recode()

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

 library (dplyr)

#create data frame
df <- data. frame (conf = factor(c('North', 'East', 'South', 'West')),
                 points = c(34, 55, 41, 28))

#recode factor levels
df$conf <- recode(df$conf, North = ' N ',
                           East = ' E ',
                           South = ' S ',
                           West = ' W ')

levels(df$conf)

[1] “E” “N” “S” “W”

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

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

วิธีแปลงปัจจัยเป็นตัวเลขใน R
วิธีแปลงปัจจัยเป็นอักขระใน R
วิธีจัดเรียงระดับแฟคเตอร์ใหม่ใน R

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

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