HT إنشاء متجه جديد في إطار البيانات الذي يأخذ ارتباط المتجهات الحالية
-
20-09-2019 - |
سؤال
لديّ سلسلة زمنية من فهسين ، حيث يمثل كل صف سعر الإغلاق في نفس اليوم. أرغب في الذهاب إلى الصف 30 والاطلاع على مدار الثلاثين يومًا الماضية وحساب ارتباط بيرسون. ثم تخزين هذه القيمة في ناقل جديد. ثم ، كرر الحساب للسلسلة الزمنية بأكملها.
إنها مهمة تافهة في Excel ، لذلك أنا مقتنع أنه يمكن القيام به في R. لا أعرف طريقة استخدامها.
المحلول
هناك العديد من الطرق للقيام بذلك (كما هو الحال مع كل شيء في R). أوصي دائمًا باستخدام سلسلة زمنية عند العمل مع بيانات السلاسل الزمنية.
ال zoo
من المحتمل أن تكون الحزمة هي الحزمة الزمنية الأكثر شعبية (على الرغم من أنه يمكنك أيضًا النظر إلى الآخرين مثل XTs و TimeSeries و ITS ، FTS):
library(zoo)
z <- zoo(data.frame(a=1:50, b=3:52), as.Date(1:50))
rollapply(z, 30, cor, by.column=F, align = "right")
يمكنك أيضًا العثور على chart.RollingCorrelation
وظيفة في PerformanceAnalytics
حزمة مفيدة.
لا تنتمي إلى StackOverflow