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