पैकेज (अब कहा जाता है ) के लिए हैडली विकम की वेबसाइट पर कई संसाधन हैं reshape2
, जिसमें जर्नल ऑफ सांख्यिकीय सॉफ्टवेयर में पैकेज पर एक पेपर के लिए लिंक भी शामिल है ।
यहाँ कागज से एक संक्षिप्त उदाहरण है:
> require(reshape2)
Loading required package: reshape2
> data(smiths)
> smiths
subject time age weight height
1 John Smith 1 33 90 1.87
2 Mary Smith 1 NA NA 1.54
हम ध्यान दें कि डेटा विस्तृत रूप में हैं। लंबे रूप में जाने के लिए, हम smiths
डेटा फ्रेम को पिघला देते हैं :
> melt(smiths)
Using subject as id variables
subject variable value
1 John Smith time 1.00
2 Mary Smith time 1.00
3 John Smith age 33.00
4 Mary Smith age NA
5 John Smith weight 90.00
6 Mary Smith weight NA
7 John Smith height 1.87
8 Mary Smith height 1.54
ध्यान दें कि melt()
किसी एक चर को आईडी के रूप में कैसे चुना जाता है, लेकिन हम स्पष्ट रूप से बता सकते हैं कि तर्क के माध्यम से कौन सा उपयोग करना है 'id'
:
> melt(smiths, id = "subject")
subject variable value
1 John Smith time 1.00
2 Mary Smith time 1.00
3 John Smith age 33.00
4 Mary Smith age NA
5 John Smith weight 90.00
6 Mary Smith weight NA
7 John Smith height 1.87
8 Mary Smith height 1.54
यहाँ से एक और उदाहरण है ?cast
:
#Air quality example
names(airquality) <- tolower(names(airquality))
aqm <- melt(airquality, id=c("month", "day"), na.rm=TRUE)
यदि हम पिघले हुए डेटा फ्रेम को स्टोर करते हैं, तो हम अन्य रूपों में डाल सकते हैं। reshape
(कहा जाता है reshape2
) के नए संस्करण में फ़ंक्शंस हैं acast()
और dcast()
एक सरणी-जैसे (सरणी, मैट्रिक्स, वेक्टर) परिणाम या क्रमशः एक डेटा फ़्रेम लौटाते हैं। mean()
पिघले हुए रूप में डेटा के सारांश प्रदान करने के लिए ये फ़ंक्शन एक समग्र फ़ंक्शन (जैसे ) भी लेते हैं । उदाहरण के लिए, ऊपर दिए गए वायु गुणवत्ता उदाहरण से निम्नलिखित, हम डेटा सेट में चर के लिए विस्तृत रूप, मासिक औसत मान उत्पन्न कर सकते हैं:
> dcast(aqm, month ~ variable, mean)
month ozone solar.r wind temp
1 5 23.61538 181.2963 11.622581 65.54839
2 6 29.44444 190.1667 10.266667 79.10000
3 7 59.11538 216.4839 8.941935 83.90323
4 8 59.96154 171.8571 8.793548 83.96774
5 9 31.44828 167.4333 10.180000 76.90000
वास्तव में केवल दो मुख्य कार्य हैं reshape2
: melt()
और acast()
और dcast()
बाँधना। इन दो कार्यों के लिए मदद पृष्ठों में उदाहरण देखें, हेडली की वेबसाइट (ऊपर लिंक) देखें और मेरे द्वारा बताए गए पेपर को देखें। आपको इस तरह से प्रारंभ करवाया जाना चाहिए।
आप हैडली के plyr
पैकेज पर भी गौर कर सकते हैं जो इसी तरह की चीजें करता है reshape2
लेकिन इसके अलावा पूरी तरह से बहुत कुछ करने के लिए डिज़ाइन किया गया है।