2009-10-06 19 views
7

का उपयोग करके पूर्व परिभाषित घनत्व कार्यों को प्लॉट करना मेरे पास अलग-अलग लंबाई के तीन डेटा सेट हैं और मैं एक ही साजिश पर सभी तीनों के घनत्व कार्यों को साजिश करना चाहता हूं। इस आधार ग्राफिक्स के साथ सीधे आगे है:ggplot और R

n <- c(rnorm(10000), rnorm(10000)) 
a <- c(rnorm(10001), rnorm(10001, 0, 2)) 
p <- c(rnorm(10002), rnorm(10002, 2, .5)) 

plot(density(n)) 
lines(density(a)) 
lines(density(p)) 

कौन मुझे कुछ इस तरह देता है:

alt text http://www.cerebralmastication.com/wp-content/uploads/2009/10/density.png

लेकिन मैं वास्तव में GGPLOT2 के साथ ऐसा करना है क्योंकि मैं अन्य सुविधाओं है कि केवल हैं जोड़ना चाहते हैं चाहते हैं जीजीपीएलओटी 2 के साथ उपलब्ध है। ऐसा लगता है कि जीजीपीएलओटी वास्तव में मेरे अनुभवजन्य डेटा लेना चाहता है और मेरे लिए घनत्व की गणना करना चाहता है। और यह मुझे होंठ का एक गुच्छा देता है क्योंकि मेरे डेटा सेट अलग-अलग लंबाई के होते हैं। तो मैं इन तीन घनत्वों को जीजीपीएलओटी 2 में साजिश के लिए कैसे प्राप्त करूं?

+0

बस सोच रहा है ... आप हमेशा ggplot2 क्यों पूंजीकरण करते हैं? –

+0

मैं वास्तव में नहीं करता ... यह मेरी छोटी उंगली है। यह सिर्फ वहां पर कूदता है और मेरी अनुमति के बिना शिफ्ट कुंजी दबाता है। :) मुझे लगता है कि यह पूरे दिन कैप्स में बहुत सारे शब्दकोष टाइप करने का बेहोश परिणाम है। मैं इसे कम मामले में छोड़ने के लिए एक सचेत प्रयास कर रहा हूं। मैं प्लीयर के साथ एक ही काम करता हूं (जैसा कि मैंने टाइप किया है कि मुझे बैकस्पेस करना है और इसे कम केस बनाना है)। हैडली ने मेरे कोड में मेरे परिवर्तनीय नामों में मामला + अंडरस्कोर मिश्रण करने के लिए पहले से ही मेरी चॉप को दबा दिया है। यदि आप सावधान नहीं हैं तो आप लोग मुझे और अधिक साफ और पढ़ने में आसान बनाने जा रहे हैं! –

उत्तर

12

ggplot2 में खुशी के लिए गुप्त "लंबे समय" में सब कुछ डाल करने के लिए है (या मैं क्या लगता है कि मैट्रिक्स उन्मुख लोगों कहेंगे "विरल") प्रारूप:

df <- rbind(data.frame(x="n",value=n), 
      data.frame(x="a",value=a), 
      data.frame(x="p",value=p)) 
qplot(value, colour=x, data=df, geom="density") 

आप रंग नहीं करना चाहते हैं:

qplot(value, group=x, data=df, geom="density") 
+0

आपने मेरी रात को इतना बेहतर बना दिया। मैं इसके साथ संघर्ष कर रहा था और इसे समझ नहीं पाया। बहुत बहुत धन्यवाद। –