كيفية دمج عمودين في عمود واحد في 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.
الطريقة الأولى: استخدم وظيفة اللصق من Base R
يوضح التعليمة البرمجية التالية كيفية استخدام وظيفة لصق قاعدة بيانات R لدمج أعمدة الشهر والسنة في عمود واحد يسمى التاريخ :
#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
الطريقة الثانية: استخدام ميزة Tidyr’s Unite
يوضح الكود التالي كيفية استخدام دالة الوحدة في حزمة tiydr لدمج أعمدة الشهر والسنة في عمود واحد يسمى التاريخ :
#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
لاحظ أن كلا الطريقتين تنتج نتائج متطابقة.
يمكنك العثور على الوثائق الكاملة لوظيفة الوحدة هنا .