วิธีรวมสองคอลัมน์เป็นหนึ่งเดียวใน r (พร้อมตัวอย่าง)


บ่อยครั้งคุณอาจต้องการรวมสองคอลัมน์เป็นคอลัมน์เดียวใน R ตัวอย่างเช่น สมมติว่าคุณมีกรอบข้อมูลที่มีสามคอลัมน์:

 month year value
   10 2019 15
   10 2020 13
   11 2020 13
   11 2021 19
   12 2021 22

คุณอาจต้องการรวมคอลัมน์เดือนและปีเป็นคอลัมน์เดียวที่เรียกว่า date :

 date value
   2019_10 15
   2020_10 13
   2020_11 13
   2021_11 19
   2021_12 22

บทช่วยสอนนี้จะอธิบายสองวิธีในการทำสิ่งนี้อย่างรวดเร็วใน R

วิธีที่ 1: ใช้ฟังก์ชันวางจาก Base R

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

 #create data frame
data <- data.frame(month=c(10, 10, 11, 11, 12),
                   year=c(2019, 2020, 2020, 2021, 2021),
                   value=c(15, 13, 13, 19, 22))

#view data frame
data

#combine year and month into one column
data$date <- paste (data$year, data$month, sep=" _ ")

#view new data frame
data

  month year value date
1 10 2019 15 2019_10
2 10 2020 13 2020_10
3 11 2020 13 2020_11
4 11 2021 19 2021_11
5 12 2021 22 2021_12

เมื่อเรารวมทั้งสองคอลัมน์เข้าด้วยกันแล้ว เราก็สามารถลบคอลัมน์เก่าออกได้หากต้องการ:

 data_new <- data[c(" date ", " value ")]

data_new

     date value
1 2019_10 15
2 2020_10 13
3 2020_11 13
4 2021_11 19
5 2021_12 22

วิธีที่ 2: ใช้ฟีเจอร์ Unite ของ Tidyr

รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน หน่วย ในแพ็คเกจ tiydr เพื่อรวมคอลัมน์ เดือน และ ปี เป็นคอลัมน์เดียวที่เรียกว่า date :

 #load tidyr package
library(tidyr)

#create data frame
data <- data.frame(month=c(10, 10, 11, 11, 12),
                   year=c(2019, 2020, 2020, 2021, 2021),
                   value=c(15, 13, 13, 19, 22))

#combine year and month into one column
unit (data, date, c(year, month))

     date value
1 2019_10 15
2 2020_10 13
3 2020_11 13
4 2021_11 19
5 2021_12 22

โปรดทราบว่าทั้งสองวิธีให้ผลลัพธ์ที่เหมือนกัน

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

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

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