لا يبدو rbind.zoo إنشاء كائن حديقة الحيوان ثابت

StackOverflow https://stackoverflow.com/questions/1898815

  •  19-09-2019
  •  | 
  •  

سؤال

أريد أن Rbind.Zoo كائن حديقة الحيوان معا. عندما كنت اختبارا، صادفت المشكلة التالية (؟) ...

ملاحظة: أدناه مثال على سبيل المثال، من الواضح أنه لا يوجد أي إشارة إليها بصرف النظر عن أن تكون توضيحية. لدي كائن حديقة للحيوانات، اتصل به، 'x'. أريد أن أقحمها إلى قسمين ثم rbind.zoo لهم معا. عندما أقارنه بالكائن الأصلي، فإن كل شيء يعطي الاختلافات.

يبدو أن سمة "$ فئة" تختلف، لكنني لا أستطيع أن أرى كيف أو لماذا. هل أقوم بإجراء كائنات XT هذه، وكل الأعمال كما هو متوقع.

بمعنى آخر .....

X.date <- as.POSIXct(paste("2003-", rep(1:4, 4:1), 
                     "-", sample(1:28, 10, replace = TRUE), sep = ""))

X <- zoo(matrix(rnorm(24), ncol = 2), X.date)

a <- X[c(1:3), ]      # first 3 elements

b <- X[c(4:6), ]      # second 3 elements

c <- rbind.zoo(a, b)  # rbind into an object of 6 elements

d <- X[c(1:6), ]      # all 6 elements

all.equal(c, d)       # are they equal?

~~~~

all.aqual يعطيني الفرق التالي:

"السمات: <المكون 3: السمات: <عدم تطابق العرض: مقارنة في أول 1 مكونات >>

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

المحلول

نعم، ربما تكون قد وجدت خطأ هناك من حيث التعامل مع السمات. من ناحية أخرى، من يهتم؟ c و d متساوية فعالة:

R> c - d

2003-01-07 0 0
2003-01-15 0 0
2003-01-17 0 0
2003-01-18 0 0
2003-02-17 0 0
2003-02-22 0 0
R> 

فحص الكائنات لا يعطي شيئا بعيدا:

R> str(c)
‘zoo’ series from 2003-01-07 to 2003-02-22
  Data: num [1:6, 1:2] 0.79 -0.731 1.574 -0.694 0.358 ...
  Index:  POSIXct[1:6], format: "2003-01-07" "2003-01-15" 
      "2003-01-17" "2003-01-18" "2003-02-17" "2003-02-22"
R> str(d)
‘zoo’ series from 2003-01-07 to 2003-02-22
  Data: num [1:6, 1:2] 0.79 -0.731 1.574 -0.694 0.358 ...
  Index:  POSIXct[1:6], format: "2003-01-07" "2003-01-15" 
      "2003-01-17" "2003-01-18" "2003-02-17" "2003-02-22"

أقترح عليك إرسال بريد مهذب لصيانة zoo توضيح القضية.

نصائح أخرى

لا يعامل R بسمة TZONE لكائنات Posixct باستمرار. حديقة الحيوان لا علاقة له بهذا. يمكنك التوصل إلى أمثلة مثل هذا حتى دون استخدام حديقة الحيوان على الإطلاق. C و D في التعليمات البرمجية الأصلية في الواقع متساوون باستثناء سمة Tzone.

إذا قمت بإزالة سمة TZONE، فستكون ج و D متساوية:

attr(X.date, "tzone") <- NULL  ##### add after defining X.date

في حالة حديقة الحيوان لأنها تدعم فقط في أي فئة زمنية يمكنك التفكير في استخدام فئة زمنية مختلفة إذا كنت لا تحتاج إلى مناطق زمنية. مناطق الوقت تعقيد أشياء ليس سبب وجيه إذا لم تكن بحاجة إليها. في المثال هنا يمكننا استخدام فئة التاريخ، على سبيل المثال.

قراءة الأخبار R 4/1 لمزيد من المعلومات.

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