سؤال

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

CPI.NSA و int هي كائنات XTS.

library(dynlm)
CPI.NSA.x <- CPI.NSA[dr1]
INT.x <- INT[dr1]

CPI.NSA.z <- as.zoo(CPI.NSA.x)
INT.z <- as.zoo(INT.x)

> dynlm(CPI.NSA.z ~ INT.z + L(CPI.NSA.z, 1))

Time series regression with "zoo" data:
Start = 1953-02-01, End = 1971-06-01

Call:
dynlm(formula = CPI.NSA.z ~ INT.z + L(CPI.NSA.z, 1))

Coefficients:
    (Intercept)            INT.z  L(CPI.NSA.z, 1)  
     -0.0006795        1.0440174       -0.0869050  


> dynlm(CPI.NSA.x ~ INT.x + L(CPI.NSA.x, 1))
Error in `[.xts`(a, match0(indexes, attr(a, "index")), , drop = FALSE) : 
  i is out of range

لقد فهمت أنه كلما كان لدي وظيفة تأخذ حديقة الحيوان ، يمكنني تمريرها XTS ويجب أن تعمل فقط ، ولكن من الواضح أن هذا ليس هو الحال هنا.

ماذا يحدث هنا؟

شكرا للمساعدة.

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

المحلول

قول انت

لقد فهمت أنه كلما كان لدي وظيفة تأخذ حديقة الحيوان ، يمكنني تمريرها XTS ويجب أن تعمل فقط ، ولكن من الواضح أن هذا ليس هو الحال هنا.

وأنا أتساءل إذا كنت تعتقد ذلك zoo و xts متطابقة. هم ليسوا -- xts يمتد zoo بطرق مفيدة في أسعار أنواع الفهرس على كائنات الوقت أو التاريخ الفعلي (بدلاً من المؤشرات التعسفية كما zoo).

الآن، dynlm كتبه أخيم زيليس الذي هو أحد مؤلفي zoo بما أنني لا أرى لماذا لا يمكنك الاحتفاظ ببياناتك xts ولكن بعد ذلك تمر إلى zoo (عبر ، على سبيل المثال ، as.zoo(foo)) عند الاتصال dynlm المهام.

لا يوجد سحر "هبوط". ولكن يمكنك أن تفعل ذلك باليد. وهو ما تفعله في الجزء الأول من سؤالك. حسنا؟

نصائح أخرى

الإجابة البسيطة هي أن حديقة الحيوان و XTs ليست قابلة للتبديل تمامًا ، على الرغم من أنها في بعض الأحيان.

هذا مثال جيد حقًا على الوقت الذي لا يكون فيه قابلاً للتبديل.

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