पर पैनल डेटा वाइड प्रारूप को दोबारा बदलें, मैं एक पैनल डेटासेट के व्यापक रूप से लंबे प्रारूप से परिवर्तन के साथ संघर्ष कर रहा हूं। डेटासेट इस तरह दिखता है:लांग प्रारूप
ID | KP1_430a | KP1_430b | KP1_430c | KP2_430a | KP2_430b | KP2_430c | KP1_1500a | ...
1 ....
2 ....
केपी 1; केपी 2 केपी 7 तक लहरों का वर्णन करता है। ए, बी तक एक विशिष्ट आइटम का वर्णन करने के लिए बी। (उदा। पार्टी के बाएं से दाएं दाएं प्लेसमेंट ए)
मैं इस डेटा को लंबे प्रारूप में रखना चाहता हूं। इस तरह:
ID | Party | Wave | 430 | 1500
1 1 1 .. ..
1 2 1 .. ..
. . .
1 1 2 .. ..
. . .
2 1 1 .. ..
मैंने reshape फ़ंक्शन का उपयोग करने का प्रयास किया। लेकिन मुझे समय के साथ-साथ पार्टियों के साथ-साथ इसे फिर से बदलने में समस्याएं थीं।
यहां एक छोटा डेटा है। उदाहरण उदाहरण।
data <- data.frame(matrix(rnorm(10),2,10))
data[,1] <- 1:2
names(data) <- c("ID","KP1_430a" , "KP1_430b" , "KP1_430c" , "KP2_430a" , "KP2_430b ", "KP2_430c ", "KP1_1500a" ,"KP1_1500b", "KP1_1500c")
और यह मुझे कितना दूर मिला।
data_long <- reshape(data,varying=list(names(data)[2:4],names(data)[5:7], names(data[8:10]),
v.names=c("KP1_430","KP2_430","KP1_1500"),
direction="long", timevar="Party")
सवाल यह है कि मैं लंबे प्रारूप में समय अलग-अलग चर कैसे प्राप्त कर सकता हूं? और क्या इस डेटा को दोबारा बदलने का एक और शानदार तरीका है? उपरोक्त कोड में मुझे प्रत्येक तरंग और चर के लिए नाम (नाम (डेटा) [2: 4]) दर्ज करना होगा। इस छोटे से डेटा के साथ। फ्रेम ठीक है, लेकिन डेटासेट बहुत बड़ा है।
संपादित करें: यह परिवर्तन हाथ से कैसे किया जा सकता है: मैंने वास्तव में ऐसा किया है, जो मुझे पृष्ठ-लंबी कोड फ़ाइल के साथ छोड़ देता है।
सबसे पहले, आईडी, समय = 1 और पार्टी = 1 कॉलम के साथ बाएं केपी 1_430 ए और केपी 1_1500 ए। दूसरा क्रमशः पार्टी इंडेक्स को बदलकर, सभी पार्टियों [बी-एफ] के लिए एक ही ऑब्जेक्ट बनाते हैं, और इसे पंक्ति-वार जोड़ते हैं। बाकी लहरों [2-7] के लिए क्रमशः एक और दो कदम उठाएं, क्रमशः पार्टी और समय var बदलते हैं, और उन्हें पंक्ति-वार जोड़ते हैं।
यदि आप लंबे प्रारूप में 430 और 1500 के लिए अलग कॉलम चाहते हैं तो विस्तृत स्थिति में उन शर्तों से बराबर मात्रा में डेटा होना चाहिए। आपके पास जिस तरह से है, आपके पास 1500 कॉलम में बहुत सी एनएएस होंगी ... या क्या आप इसे इस तरह से चाहते थे? – John
ओह, यह शायद थोड़ा सा स्केची है। इन दो चर के लिए समान मात्रा में लहरें (1-7) और पार्टी आइटम (ए-एफ) है। तो: केपी [1-7] _430 [ए-एफ], केपी [1-7] _1500 [ए-एफ]। – lstoetze
हालांकि, डेटासेट में कुछ चर के लिए (ए) केवल कुछ तरंगों के लिए डेटा है - उदा। केपी [146] _1640 [ए-एफ] या (बी) पार्टी विशिष्ट नहीं - उदा। केपी [1-7] _1490। – lstoetze