r- reshape table grouped by 3 variables (2 in rows) -
मुझे निम्न तालिका को विस्तृत प्रारूप में नयी आकृति प्रदान करना होगा:
& gt; डेटा डाया क्ली ललाम ईलिजिओस कमलम 1 1-11 ए 1 1 2 2-11 ए 2 1 3 3 1-11 बी 2 1 2 4 2-11 बी 1 1 3 5 2-11 सी 1 0 1
मुझे कॉलम में पंक्तियों और कमलेम में दिनों और क्लाइंट की मात्रा मान के रूप में रखने की आवश्यकता है।
मैंने लिखा:
लाइब्रेरी (reshape2 ) My.f & lt; - फ़ंक्शन (v) {if (लंबाई (वी) == 0) 0 और लंबाई (वी)} श्रृंखला & lt; -data.frame (dcast (डेटा, दीया ~ cumllam, मजेदार। F, value.var = 'cli'))
और मुझे मिलता है:
& gt; श्रृंखला व्यास X1 X2 X3 1 1-11 1 1 2 2-11 1 0 2
लेकिन मुझे स्तंभ "ईलिजिओस" द्वारा इसे विभाजित करने की आवश्यकता है I मेरी टेबल होना चाहिए:
ईलिजिओस डाया X1 X2 X3 0 2-11 1 0 0 1 1-11 1 1 0 1 2-11 0 0 2
< P> मैंने कोशिश की: data.frame (dcast (डेटा, सी (ईलिजिओस, दीया) ~ cumllam, fun.aggregate = my.f, value.var = 'cli')) < / कोड> लेकिन मुझे एक गलत परिणाम मिलता है:
c.elegidos..dia। एक्स 1 एक्स 2 एक्स 3 1 0 1 0 0 2 1 2 2 2 3 2 1 0 2
मैं तालिका को पहली बार फिल्टर कर सकता हूं, फिर पहले कोड और आरबीआईडी के रूप में डुकाएं, लेकिन मैं 'मुझे यकीन है कि इसे एक कदम में करने का एक तरीका है।
यदि आपका लक्ष्य अंतिम से दूसरा है आपके प्रश्न का मैट्रिक्स जो आप बस का उपयोग कर सकते हैं:
df & lt; - read.table (हेडर = टी, टेक्स्ट = 'दीया क्ली लल्म ईलिजिओस कमलम 1-11 ए 1 1 1 2-11 ए 2 1 3 1-11 बी 2 1 2 2-11 बी 1 1 3 2-11 सी 1 0 1 ') की आवश्यकता होती है (reshape2) dcast (df, सूत्र = elegidos + dia ~ cumllam, लंबाई) elegidos व्यास 1 2 3 1 0 2-11 1 0 0 2 1 1-11 1 1 0 3 1 2-11 0 0 2
Comments
Post a Comment