2014-04-18 13 views
5

मेरे आयात किए गए डेटा 7 चर होते हैं: Y और X1, X2, X3, X4, X5, X6। मैंने फ़ंक्शन को zoo में कार्यान्वित करने की कोशिश की ताकि 262 ऑब्जेक्ट की खिड़की के साथ एक नमूना में रोलिंग रिग्रेशन चलाया जा सके। (एक वर्ष में कार्य दिवस)।आर में रोलिंग प्रतिगमन रोल का उपयोग कर लागू

  date    Y   X1   X2 
1  10/1/07 -0.0080321720 4.690734e-03 3.333770e-03 
2  10/2/07 0.0000000000 -2.818413e-03 5.418223e-03 
3  10/3/07 0.0023158650 -4.178744e-03 -3.821100e-04 
4  10/4/07 -0.0057491710 -5.071030e-03 -8.321550e-04 
5  10/5/07 0.0073570500 3.065045e-03 5.179574e-03 
6  10/8/07 0.0127708010 -7.278513e-03 1.145395e-03 
7  10/9/07 0.0032661980 9.692267e-03 6.514035e-03 
8 10/10/07 0.0013824430 1.161780e-04 2.676416e-03 
9 10/11/07 0.0026607550 1.113179e-02 8.825719e-03 
10 10/12/07 -0.0046362600 -2.453561e-03 -6.584070e-03 
11 10/15/07 -0.0023757680 -7.829081e-03 -3.070540e-03 
12 10/16/07 -0.0128673660 -4.619378e-03 -8.972126e-03 
13 10/17/07 0.0016049760 1.276695e-03 5.349316e-03 
14 10/18/07 -0.0044198970 -9.018499e-03 -1.215895e-02 
15 10/19/07 -0.0011080330 -5.328661e-03 -7.131916e-03 
16 10/22/07 -0.0024217970 -2.019539e-02 -2.021072e-02 
17 10/23/07 0.0031270520 1.668604e-02 2.236130e-02 
18 10/24/07 -0.0040367400 -1.061433e-02 -5.735703e-03 
19 10/25/07 0.0001011170 1.346312e-02 1.036109e-02 
20 10/26/07 0.0003032910 3.766526e-03 2.903628e-03 
21 10/29/07 0.0004042450 1.416406e-02 2.527754e-03 
22 10/30/07 -0.0012132240 -1.387166e-03 -8.202236e-03 
23 10/31/07 0.0057497510 9.593904e-03 1.433401e-02 
24 11/1/07 -0.0032238590 -1.648975e-02 -1.029199e-02 
25 11/2/07 -0.0031330560 -7.737784e-03 -7.559498e-03 
26 11/5/07 -0.0001-7.877763e-03 -8.500554e-03 
27 11/6/07 -0.0004050220 7.407770e-03 2.536320e-03 
28 11/7/07 -0.0031444970 -5.904219e-03 -8.026064e-03 
29 11/8/07 -0.0045822590 -3.712574e-03 -6.395584e-03 
30 11/9/07 0.0016316540 -1.432552e-02 -1.741458e-02 
31 11/12/07 -0.0019378860 -3.926583e-03 -4.543370e-03 
32 11/13/07 0.0011223920 -1.952799e-03 -2.622112e-03 
33 11/14/07 0.0008154940 8.687550e-06 1.085682e-03 
34 11/15/07 0.0015272620 -1.549745e-02 -1.556172e-02 
35 11/16/07 -0.0001017450 -5.578556e-03 -1.432244e-02 
36 11/19/07 0.0014234880 -2.206707e-02 -3.537936e-02 
37 11/20/07 -0.0010165700 1.643937e-02 5.140822e-03 
38 11/21/07 -0.0008140010 -1.715961e-02 -2.756704e-02 
39 11/22/07 -0.0008146640 -2.108098e-03 7.455698e-03 
40 11/23/07 0.0008146640 1.266776e-02 1.615338e-02 
41 11/26/07 0.0008140010 5.539814e-03 2.854080e-03 
42 11/27/07 0.0006100660 -8.561106e-03 -9.720505e-03 
43 11/28/07 -0.0015258640 3.392103e-02 2.132374e-02 
44 11/29/07 -0.0006109980 6.109848e-03 1.045556e-02 
45 11/30/07 0.0004073730 9.214342e-03 1.133690e-02 
46 12/3/07 -0.0002036660 -7.006415e-03 -6.079820e-04 
47 12/4/07 0.0002036660 -1.187605e-02 -2.554853e-02 
48 12/5/07 0.0007125040 1.362121e-02 9.525618e-03 
49 12/6/07 -0.0034655010 7.917348e-03 5.252105e-03 
50 12/7/07 0.0018361730 -1.026832e-02 1.216898e-02 
51 12/10/07 0.0013240310 3.347302e-03 1.143687e-02 
52 12/11/07 0.0005087760 -3.433720e-03 2.373558e-03 
53 12/12/07 0.0024385300 5.507930e-04 3.191504e-03 
54 12/13/07 -0.0115336820 -1.793698e-02 -2.149447e-02 
55 12/14/07 -0.0010271160 -2.307745e-03 -1.038483e-03 
56 12/17/07 -0.0033969870 -1.822079e-02 -2.920662e-02 
57 12/18/07 0.0000000000 -1.873297e-03 -7.061215e-03 
58 12/19/07 -0.0004125410 -3.372400e-06 -7.879850e-03 
59 12/20/07 0.0008249120 -6.227957e-03 -1.752460e-04 
60 12/21/07 -0.0020635580 1.734991e-02 1.348190e-02 
61 12/24/07 0.0003098050 0.000000e+00 0.000000e+00 
62 12/25/07 0.0000000000 0.000000e+00 0.000000e+00 
63 12/26/07 0.0001032470 0.000000e+00 0.000000e+00 
64 12/27/07 0.0006192590 5.006783e-03 5.274480e-03 
65 12/28/07 -0.0005160230 6.428153e-03 8.557260e-03 
66 12/31/07 0.0000000000 0.000000e+00 0.000000e+00 
67  1/1/08 0.0002064410 0.000000e+00 0.000000e+00 
68  1/2/08 -0.0009293200 -6.023384e-03 -3.104400e-03 
69  1/3/08 0.0027853730 -2.302511e-03 -2.759650e-03 
70  1/4/08 0.0018526150 -2.149450e-02 -2.645257e-02 
71  1/7/08 -0.0005142710 -4.445206e-03 -2.117698e- 

1596   <NA>   <NA>   <NA>    

किसी कारण मान प्रदर्शित नहीं करता है, भले ही वहाँ (, मूल Excel फ़ाइल में हैं x3, x4, X5, X6 याद कर रहे हैं के बाद से कॉलम एक दूसरे के ऊपर पर खड़ी दिखती हैं के लिए अंतिम पंक्ति ।, मैं उदाहरण के लिए ऊपर से बैच की नकल की

मेरे कोड है:

rollapply(ts, 262, lm(Y~X1+X2+X3+X4+X5+X6+0, 
          subset=1:floor(length(x)/2)), align="right") 

त्रुटि संदेश मैं मिलता है:

**Error in eval(expr, envir, enclos) : object 'Y' not found** 

मुझे सच में आश्चर्य है कि इसे Y चर क्यों नहीं मिल रहा है, क्योंकि यह उचित शीर्षक के साथ समय श्रृंखला डेटासेट में प्रदर्शित होता है।

+1

'rollapply' का तीसरा तर्क एक समारोह माना जाता है , लेकिन आप 'एलएम' को कॉल कर रहे हैं, एक अनिर्धारित मान' x' का जिक्र करते हुए, और 'डेटा =' तर्क पारित नहीं कर रहे हैं। – josliber

उत्तर

7

यह वास्तव में स्पष्ट नहीं है कि आपका डेटा वास्तव में क्या है (प्रतिलिपि उदाहरण देने के लिए dput(example_data) का उपयोग करें)।

लेकिन lm आपके उदाहरण में कॉल केवल बार-बार एक ही प्रतिगमन कर रहा है (आपका एक्स बदल नहीं रहा है) और जोसिलबर पॉइंट आउट होने के कारण, यह एक कार्य माना जाता है। यहाँ एक उदाहरण है, जहां सभी डेटा data.frame allRegData में है और यह कम से कम दो कॉलम, एक y नामित और एक अन्य नामित x है:

require(zoo) 
rollapply(zoo(allRegData), 
      width=262, 
      FUN = function(Z) 
      { 
      t = lm(formula=y~x, data = as.data.frame(Z), na.rm=T); 
      return(t$coef) 
      }, 
      by.column=FALSE, align="right") 
+0

आपकी मदद के लिए बहुत बहुत धन्यवाद, कोड काम करता था, लेकिन मुझे आउटपुट के बीच में बहुत सी एनएएस मिल गईं, मैंने एक्सएलकनेक्ट पैकेज का उपयोग एक्सेल फ़ाइल में आउटपुट निर्यात करने के लिए किया था: writeWorksheetToFile ("आर में रोलिंग विंडो के परिणाम। xlsx ", डेटा = परिणाम, शीट =" रोलप्ली ", हेडर = सही) मुझे निम्न त्रुटि संदेश मिलता है: त्रुटि: आउटऑफमेमरी एरर (जावा): जावा हीप स्पेस किसी भी तरह हल किया जा सकता है? – user3546838

+0

'एनए' एक अचूक मॉडल मैट्रिक्स (यानी निर्धारक शून्य) के कारण हो सकता है -> अपने 'एक्स 1' और' एक्स 2 'को अवलोकनों में पर्याप्त भिन्नता दिखाएं, क्या कोई डुप्लिकेट नहीं है, क्या एनएएस हैं? XLConnect पैकेज के साथ किसी भी समस्या को बाहर करने के लिए 'write.table' या' write.csv' के साथ अपने आउटपुट को एक csv फ़ाइल में लिखें। यदि आपके पास एक और सवाल है: इसे एक नए प्रश्न में लिखें। –

संबंधित मुद्दे