2013-03-14 8 views
5

मैं अपने जीजीप्लॉट में ट्रेंडलाइन जोड़ना चाहता हूं, लेकिन केवल महत्वपूर्ण संबंधों के लिए। अब geom_smooth या stat_smooth प्रत्येक समूह के लिए ट्रेंडलाइन जोड़ता है, लेकिन मैं यह निर्दिष्ट करना चाहता हूं कि कौन से समूह एक ट्रेंडलाइन प्राप्त करते हैं और जो नहीं करते हैं।केवल कुछ समूहों के लिए रीग्रेशन लाइन ggplot जोड़ें

मेरी स्क्रिप्ट का एक उदाहरण नीचे:

plot20<-ggplot(data, aes(x=data$Density, y=data$Total.degrees, color=Species, shape=Species)) 
+ geom_point(size=3) 
+ scale_shape_manual(values=shapeset) 
+ scale_colour_manual(values=colorset) 
+ theme(legend.position="none") 
+ geom_smooth(method=lm, se=FALSE) 

उत्तर

11

एक समाधान geom_smooth() अंदर अपने डेटा के subset() रख दिया और मूल्य है जिसके लिए आप ट्रेंडलाइन प्लॉट करने के लिए की जरूरत है देने के लिए किया जाएगा।

उदाहरण के तौर पर डेटा mtcars (नमूना डेटा प्रदान नहीं किया गया था) का उपयोग किया गया। subset()cyl के साथ 4 या 6 के मान चुने गए हैं। Insede geom_smooth() भी aes() दोहराया जाना चाहिए।

ggplot(mtcars,aes(wt,mpg,color=factor(cyl)))+geom_point()+ 
    geom_smooth(data=subset(mtcars,cyl==4 | cyl==6), 
       aes(wt,mpg,color=factor(cyl)),method=lm,se=FALSE) 

enter image description here

+0

आपको बहुत बहुत धन्यवाद! – user2170248

संबंधित मुद्दे