كيفية طرح الساعات من الوقت في 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

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *