วิธีเปลี่ยนชื่อคอลัมน์กรอบข้อมูลใน 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"
เมื่อใช้วิธีการนี้ คุณสามารถเปลี่ยนชื่อคอลัมน์ได้มากเท่าที่คุณต้องการในคราวเดียว