كيفية طرح الساعات من الوقت في r (مع أمثلة)
يمكنك استخدام أي من الطرق التالية لطرح عدد معين من الساعات من ساعة في R:
الطريقة الأولى: استخدم Base R
#create new column that subtracts 4 hours from time df$subtract4 <- df$time - ( 4 * 3600 )
الطريقة الثانية: استخدم حزمة Lubridate
library (lubridate) #create new column that subtracts 4 hours from time df$subtract4 <- df$time - hours( 4 )
توضح الأمثلة التالية كيفية استخدام كل طريقة مع إطار البيانات التالي:
#create data frame df <- data. frame (time=as. POSIXct (c('2022-01-03 08:04:15', '2022-01-05 14:04:15', '2022-01-05 20:03:53', '2022-01-06 03:29:13', '2022-01-06 06:15:00', '2022-01-07 10:48:11'), format='%Y-%m-%d %H:%M:%OS'), sales=c(130, 98, 240, 244, 174, 193)) #view data frame df time sales 1 2022-01-03 08:04:15 130 2 2022-01-05 14:04:15 98 3 2022-01-05 20:03:53 240 4 2022-01-06 03:29:13 244 5 2022-01-06 06:15:00 174 6 2022-01-07 10:48:11 193
ملاحظة : لإضافة أوقات إلى تاريخ، ما عليك سوى استبدال علامة الطرح بعلامة الجمع في إحدى الصيغ أعلاه.
مثال 1: طرح الساعات من الوقت باستخدام الأساس R
يوضح التعليمة البرمجية التالية كيفية إنشاء عمود جديد يسمى subtract4 الذي يطرح أربع مرات من كل قيمة في عمود الوقت :
#create new column that subtracts 4 hours from time
df$subtract4 <- df$time - ( 4 * 3600 )
#view updated data frame
df
time sales subtract4
1 2022-01-03 08:04:15 130 2022-01-03 04:04:15
2 2022-01-05 14:04:15 98 2022-01-05 10:04:15
3 2022-01-05 20:03:53 240 2022-01-05 16:03:53
4 2022-01-06 03:29:13 244 2022-01-05 23:29:13
5 2022-01-06 06:15:00 174 2022-01-06 02:15:00
6 2022-01-07 10:48:11 193 2022-01-07 06:48:11
لاحظ أن القيم الموجودة في عمود الطرح الجديد 4 تساوي القيم الموجودة في عمود الوقت مع طرح أربع ساعات.
ملاحظة : نستخدم (4*3600) في الصيغة لأن قيم الوقت يتم تخزينها بالثواني في R. وبما أن الساعة تحتوي على 3600 ثانية، فإننا نحتاج إلى ضرب 4 في 3600 لطرح 4 ساعات.
مثال 2: اطرح الساعات من الوقت باستخدام حزمة Lubridate
يوضح التعليمة البرمجية التالية كيفية استخدام وظيفة الساعات () لحزمة lubridate لإنشاء عمود جديد يسمى subtract4 الذي يطرح أربع ساعات من كل قيمة في عمود الوقت :
library (lubridate)
#create new column that subtracts 4 hours from time
df$subtract4 <- df$time - hours( 4 )
#view updated data frame
df
time sales subtract4
1 2022-01-03 08:04:15 130 2022-01-03 04:04:15
2 2022-01-05 14:04:15 98 2022-01-05 10:04:15
3 2022-01-05 20:03:53 240 2022-01-05 16:03:53
4 2022-01-06 03:29:13 244 2022-01-05 23:29:13
5 2022-01-06 06:15:00 174 2022-01-06 02:15:00
6 2022-01-07 10:48:11 193 2022-01-07 06:48:11
لاحظ أن القيم الموجودة في عمود الطرح الجديد 4 تساوي القيم الموجودة في عمود الوقت مع طرح أربع ساعات.
لاحظ أن هذه الطريقة تنتج نفس النتائج مثل طريقة R الأساسية.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في R:
كيفية تحويل التاريخ إلى رقمي في R
كيفية استخراج الشهر من التاريخ في R
كيفية إضافة وطرح أشهر إلى تاريخ في R