วิธีเปลี่ยนชื่อหลายคอลัมน์โดยใช้ dplyr


คุณสามารถใช้ฟังก์ชันต่อไปนี้จากแพ็คเกจ dplyr ใน R เพื่อเปลี่ยนชื่อหลายคอลัมน์ในกรอบข้อมูล:

วิธีที่ 1: ใช้การเปลี่ยนชื่อ ()

 df %>% rename(new1 = old1, new2 = old2)

วิธีที่ 2: ใช้ rename_with()

 new <- c(' new1 ', ' new2 ')
old <- c(' old1 ', ' old2 ')

df %>% rename_with(~ new, all_of(old))

ทั้งสองวิธีให้ผลลัพธ์ที่เหมือนกัน

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

 #create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E'),
                 dots=c(22, 34, 30, 12, 18),
                 assists=c(7, 9, 9, 12, 14))

#view data frame
df

  team points assists
1 to 22 7
2 B 34 9
3 C 30 9
4 D 12 12
5 E 18 14

ตัวอย่างที่ 1: เปลี่ยนชื่อหลายคอลัมน์โดยใช้ rename()

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

 library (dplyr)

#rename team and points columns
df2 <- df %>% rename(team_new = team, points_new = points)

#view updated data frame
df2

  team_new points_new assists
1 to 22 7
2 B 34 9
3 C 30 9
4 D 12 12
5 E 18 14

คอลัมน์ทีม และ คะแนน ถูกเปลี่ยนชื่อในขณะที่คอลัมน์ แอสซิสต์ ยังคงเหมือนเดิม

ตัวอย่างที่ 2: เปลี่ยนชื่อหลายคอลัมน์โดยใช้ rename_with()

รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน rename_with() เพื่อเปลี่ยนชื่อ ทีม และ ชี้ คอลัมน์ในกรอบข้อมูล:

 library (dplyr)

#define new names
new <- c(' team_new ', ' points_new ')

#define old names to replace
old <- c(' team ', ' points ')

#rename old names with new names
df2 <- df %>% rename_with(~ new, all_of(old))

#view updated data frame
df2

  team_new points_new assists
1 to 22 7
2 B 34 9
3 C 30 9
4 D 12 12
5 E 18 14

คอลัมน์ทีม และ คะแนน ถูกเปลี่ยนชื่อในขณะที่คอลัมน์ แอสซิสต์ ยังคงเหมือนเดิม

โปรดทราบว่าวิธีนี้อาจใช้ง่ายกว่าเมื่อคุณมีรายการชื่อคอลัมน์จำนวนมากที่คุณต้องการแทนที่

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

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

วิธีเลือกคอลัมน์ตามชื่อโดยใช้ dplyr
วิธีเลือกคอลัมน์ตามดัชนีโดยใช้ dplyr
วิธีใช้ select_if กับหลายเงื่อนไขใน dplyr

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

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