วิธีเปลี่ยนชื่อคอลัมน์กรอบข้อมูลใน r


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

สำหรับแต่ละตัวอย่างเหล่านี้ เราจะทำงานกับชุดข้อมูลในตัว mtcars ใน R

เปลี่ยนชื่อ n คอลัมน์แรกโดยใช้ Base R

mtcars มีชื่อคอลัมน์ทั้งหมด 11 ชื่อ :

 #view column names of mtcars
names(mtcars)

# [1] "mpg" "cyl" "disp" "hp" "drat" "wt" "qsec" "vs" "am" "gear"
# [11] “carb”

หากต้องการเปลี่ยนชื่อ 4 คอลัมน์แรก คุณสามารถใช้ไวยากรณ์ต่อไปนี้:

 #rename first 4 columns
names(mtcars) <- c("miles_gallon", "cylinders", "display", "horsepower")
names(mtcars)

#[1] "miles_gallon" "cylinders" "display" "horsepower" NA 
#[6] NA NA NA NA NA 
#[11] NA

โปรดทราบว่า R เริ่มต้นด้วยชื่อของคอลัมน์แรก และเพียงเปลี่ยนชื่อคอลัมน์ตามจำนวนที่คุณระบุไว้ ในตัวอย่างนี้ เนื่องจากมีชื่อคอลัมน์ 11 ชื่อและเราระบุชื่อคอลัมน์ไว้เพียง 4 ชื่อ จึงเปลี่ยนชื่อเฉพาะ 4 คอลัมน์แรกเท่านั้น หากต้องการเปลี่ยนชื่อทั้ง 11 คอลัมน์ เราจำเป็นต้องจัดเตรียมเวกเตอร์ของชื่อคอลัมน์ 11 คอลัมน์

เปลี่ยนชื่อ   คอลัมน์ตามชื่อโดยใช้ Base R

หากเราต้องการเปลี่ยนชื่อคอลัมน์เฉพาะในชุดข้อมูล mtcars เช่น คอลัมน์ “wt” เราสามารถทำได้โดยใช้ชื่อ:

 #rename just the "wt" column in mtcars
names(mtcars)[names(mtcars)=="wt"] <- "weight"
names(mtcars)

#[1] "mpg" "cyl" "disp" "hp" "drat" "weight" "qsec" "vs" 
#[9] "am" "gear" "carb"

โปรดสังเกตว่าเฉพาะคอลัมน์ “น้ำหนัก” เท่านั้นที่จะเปลี่ยนชื่อเป็น “น้ำหนัก” และคอลัมน์อื่นๆ ทั้งหมดจะยังคงชื่อเดิมไว้

เปลี่ยนชื่อ   คอลัมน์ตามดัชนีโดยใช้ Base R

นอกจากนี้เรายังสามารถเปลี่ยนชื่อคอลัมน์เฉพาะในชุดข้อมูล mtcars ตามดัชนี ตัวอย่างเช่น ต่อไปนี้เป็นวิธีเปลี่ยนชื่อคอลัมน์ที่สอง “cyl” ตามดัชนี:

 #rename the second column name in mtcars
names(mtcars)[2] <- "cylinders"
names(mtcars)

# [1] "mpg" "cylinders" "disp" "hp" "drat" "wt" 
# [7] "qsec" "vs" "am" "gear" "carb"

โปรดสังเกตว่าเฉพาะคอลัมน์ “cyl” เท่านั้นที่ถูกเปลี่ยนชื่อเป็น “cylinders” และคอลัมน์อื่นๆ ทั้งหมดยังคงชื่อเดิมไว้

เปลี่ยนชื่อ   คอลัมน์ที่ใช้ dplyr

อีกวิธีในการเปลี่ยนชื่อคอลัมน์ใน R คือการใช้ฟังก์ชัน rename() ในแพ็คเกจ dplyr ไวยากรณ์พื้นฐานสำหรับการทำเช่นนี้คือ:

 data %>% rename(new_name1 = old_name1, new_name2 = old_name2, ....)

ตัวอย่างเช่น ต่อไปนี้เป็นวิธีเปลี่ยนชื่อคอลัมน์ชื่อ “mpg” และ “cyl” ในชุดข้อมูล mtcars :

 #install (if not already installed) and load dplyr package
if(!require(dplyr)){install.packages('dplyr')}

#rename the "mpg" and "cyl" columns
new_mtcars <- mtcars %>% 
                rename(
                  miles_g = mpg,
                  cylinder = cyl
                  )

#view new column names
names(new_mtcars)

# [1] "miles_g" "cylinder" "disp" "hp" "drat" "wt" 
# [7] "qsec" "vs" "am" "gear" "carb"

เมื่อใช้วิธีการนี้ คุณสามารถเปลี่ยนชื่อคอลัมน์ได้มากเท่าที่คุณต้องการในคราวเดียว

เปลี่ยนชื่อ   คอลัมน์ที่ใช้ data.table

อีกวิธีในการเปลี่ยนชื่อคอลัมน์ใน R คือการใช้ฟังก์ชัน setnames() ในแพ็คเกจ data.table ไวยากรณ์พื้นฐานสำหรับการทำเช่นนี้คือ:

 setnames(data, old=c("old_name1","old_name2"), new=c("new_name1", "new_name2"))

ตัวอย่างเช่น ต่อไปนี้เป็นวิธีเปลี่ยนชื่อคอลัมน์ชื่อ “mpg” และ “cyl” ในชุดข้อมูล mtcars :

 #install (if not already installed) and load data.table package
if(!require(data.table)){install.packages('data.table')}

#rename "mpg" and "cyl" column names in mtcars
setnames(mtcars, old=c("mpg","cyl"), new=c("miles_g", "cylinder"))

#view new column names
names(mtcars)

#[1] "miles_g" "cylinder" "disp" "hp" "drat" "wt" 
#[7] "qsec" "vs" "am" "gear" "carb"

เมื่อใช้วิธีการนี้ คุณสามารถเปลี่ยนชื่อคอลัมน์ได้มากเท่าที่คุณต้องการในคราวเดียว

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

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