आर

2011-10-28 8 views
5

में पूर्व-समेकित/समूहीकृत डेटा का बॉक्सप्लॉट आर में मैं कच्चे डेटा की बजाय गिनती डेटा पर एक बॉक्सप्लॉट बनाना चाहता हूं। तो मेरी टेबल स्कीमा

वैल्यू की तरह दिखती है। गणना
1 | 2
2 | 1

...
आर

के बजाय

मूल्य
...

कहाँ दूसरे मामले में मैं बस boxplot कर सकता है (एक्स)

+0

तो क्या ग्राफ की तरह आप उम्मीद कर रहे हैं। यह केवल दो गिनती मूल्य है और बॉक्सप्लॉट बहुत अजीब होने जा रहा है। क्या आप शायद एक बरचार्ट के बारे में सोच रहे हैं? –

+0

यह केवल उदाहरण डेटा है, मेरे असली डेटासेट में –

उत्तर

0

मुझे यकीन है कि आप पहले से ही सारांश के साथ क्या करना चाहते हैं arized डेटा, लेकिन नहीं है, तो आप इस तथ्य का दुरुपयोग कर सकते हैं कि rep वैक्टर लेता है:

> dat <- data.frame(Value = 1:5, Count = sample.int(5)) 
> dat 
    Value Count 
1  1  1 
2  2  3 
3  3  4 
4  4  2 
5  5  5 
> rep(dat$Value, dat$Count) 
[1] 1 2 2 2 3 3 3 3 4 4 5 5 5 5 5 

बस उस के आसपास boxplot लपेट और आप आप क्या चाहते हैं मिलना चाहिए। मुझे यकीन है कि ऐसा करने के लिए एक और अधिक कुशल/बेहतर तरीका है, लेकिन यह आपके लिए काम करना चाहिए।

+0

बहुत अधिक पंक्तियां हैं जो काम करती हैं, लेकिन यह मेरे मामले में बहुत दर्दनाक है क्योंकि मैं अपनी साजिश में कई श्रेणियों (मूल्य, गणना के अलावा) के बॉक्सप्लॉट करना चाहता था। लेकिन सीएस्ट ला वी। सलाह के लिये धन्यवाद! –

+0

@ जॉन - कोई चिंता नहीं। मेरा अन्य सुझाव ggplot2 को देखना होगा। मुझे पता है कि आप वहां पूर्व-सारांशित डेटा में पास कर सकते हैं। क्षमा करें मैं अक्सर बेस ग्राफिक्स का उपयोग नहीं करता हूं: http://had.co.nz/ggplot2/geom_boxplot.html – Chase

0

मैं 'प्रतिनिधि' समारोह के साथ गिना जाता है के प्रत्येक स्तंभ पर 'लागू करें' फ़ंक्शन का उपयोग करके हाल ही में एक ऐसी ही समस्या हल हो जाती:

> datablock <- apply(countblock[-1], 2, function(x){rep(countblock$value, x)}) 
> boxplot(datablock) 

... ऊपर मानता है कि अपने मूल्यों पहले कॉलम में हैं और बाद के कॉलम में डेटा गिनती होती है।

0

rep और data.frame का एक संयोजन है, तो एक और चर वर्गीकरण

उदाहरण के लिए आवश्यक है एक दृष्टिकोण के रूप में इस्तेमाल किया जा सकता है।

with(data.frame(v1=rep(data$v1,data$count),v2=(data$v2,data$count)), 
    boxplot(v1 ~ v2) 
)