سؤال

كيف يمكنني إضافة ساعة واحدة إلى جميع عناصر فهرس سلسلة حديقة الحيوان؟

لقد حاولت

newseries <- myzooseries 
index(newseries) <- index(myzooseries)+times("1:00:00") 

لكني أتلقى الرسالة

Incompatible methods   ("Ops.dates", "Ops.times") for "+" 

شكرًا

الفهرس الخاص بي هو كائن كرون مع تاريخ ووقت ، لكنني حاولت بأمثلة أبسط ولا يمكنني الحصول عليه

هل كانت مفيدة؟

المحلول

يمكن حل هذا بسهولة عن طريق إضافة الوقت الذي تريده بطريقة رقمية:

newseries <- myzooseries 
index(newseries) <- index(myzooseries) + 1/24

يتم تمثيل كائنات Chron كأرقام عشرية ، بحيث يمكنك استخدام ذلك للحساب. اليوم هو 1 ، لذلك ساعة 1/24 ، دقيقة 1/1440 وما إلى ذلك. يمكنك رؤية هذا بسهولة إذا كنت تستخدم أوقات الوظيفة. هذا يمنحك أوقات اختبار الكائن ، على سبيل المثال:

> A <- chron(c("01/01/97","01/02/97","01/03/97"))

> B <- A + 1/24

> B
[1] (01/01/97 01:00:00) (01/02/97 01:00:00) (01/03/97 01:00:00)

> times(A)
Time in days:
[1] 9862 9863 9864

> times(B)
Time in days:
[1] 9862.042 9863.042 9864.042


> times(B-A)
[1] 01:00:00 01:00:00 01:00:00

> times(A[3]-B[1])
Time in days:
[1] 1.958333

نصائح أخرى

حول الى POSIXct, ، أضف 60*60 (1H في S) ثم تحويل مرة أخرى.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top