r - Reshaping time series data from wide to tall format (for plotting) -
इस सवाल का पहले से ही एक उत्तर है: < / P>
- 5 जवाब
मेरे पास एक डेटा फ्रेम है कॉलम में संग्रहित कई रिटर्न का समय श्रृंखला।
पहले स्तंभ में तिथियां होती हैं, और बाद के कॉलम प्रत्येक नाम के साथ स्वतंत्र समय श्रृंखला होते हैं कॉलम हेडर वेरिएबल नाम हैं।
## मेरे पास इस तरह की डेटा फ्रेम है & lt; - seq (as.Date ('2009-01-01'), = 'दिनों से ', लंबाई = 10) एक्स & lt; - rnorm (10,0,1) वाई & lt; - rnorm (10,0,2) Z & lt; - rnorm (10,0,4) dat & lt; - data.frame ( टी, एक्स, वाई, जेड) ## जो टी XYZ 1 के रूप में प्रकट होता है 1 9-01-01-01 -1.8763317 -0.1885183 -6.655663 2 2009-01-02 -1.3566227 -2.1851226 -3.863576 3 2009-01-03 -1.3447188 2.4180249 -1.543931
मैं प्रत्येक समय सीरीज़ को एक अलग साजिश पर एक पंक्ति के रूप में साजिश करना चाहता हूं, एक जाली में, प्रत्येक नामित वेरिएबल नामों के अनुसार भूखंड।
यह जाली के साथ साजिश करने के लिए, डेटा एक लंबा प्रारूप में होना चाहिए, जैसे:
t प्रतीक मूल्य 1 2009-01-01 एक्स -1.8763317 2 2009- 01-02 वाई -0.1885183 2 2009-01-02 जेड -6.655663
ऐसा करने के लिए एक अच्छा फ़ंक्शन कॉल क्या है?
आप 'reshape' लाइब्रेरी से पिघल () का भी उपयोग कर सकते हैं (मुझे लगता है कि इसका इस्तेमाल करना आसान है नयी आकृति प्रदान करें () खुद) - इससे आपको टाइम कॉलम को वापस जोड़ने का अतिरिक्त कदम बचा होगा ...
& gt; लाइब्रेरी (पुन: आकार) & gt; एम एंड एलटी; - पिघल (डेटा, आईडी = "टी", वेरिएबल_नाम = "प्रतीक") & gt; नाम (मी) & lt; - उप ("मान", "मूल्य", नाम (मी)) & gt; सिर (मी) टी प्रतीक मूल्य 1 2009-01-01 एक्स -1.14945096 2 2009-01-02 एक्स -0.07619870 3 2009-01-03 एक्स 0.01547395 4 2009-01-04 एक्स -0.314 93143 5 2009-01-05 एक्स 1.26985167 6 2009-01-06 एक्स 1.31492397 & gt; वर्ग (एम $ टी) [1] "दिनांक" & gt; पुस्तकालय (लैटीस) & gt; Xyplot (मूल्य ~ टी | प्रतीक, डेटा = एम, प्रकार = "l", लेआउट = सी (1,3))
इस विशेष कार्य के लिए, हालांकि, मैं 'चिड़ियाघर' लाइब्रेरी, जो आपको डेटा फ्रेम का नयी आकार देने की आवश्यकता नहीं होगी:
& gt; लाइब्रेरी (चिड़ियाघर) & gt; Zobj & lt; - चिड़ियाघर (dat [, - 1], dat [, 1]) & gt; डेवलपर्स / योगदानकर्ता (इस मामले में गॉबर और हैडली) ने हमें बहुत अच्छे विकल्प दिए हैं। (और लैटिस पैकेज के लिए दीपायन को नहीं भूल सकता)
Comments
Post a Comment