2010-05-03 5 views
6

में ट्रेंड लाइन/बॉक्सप्लॉट्स (समूह द्वारा) को जोड़ना मेरे पास कुछ मापा चर (वाई) के साथ 15 सप्ताह में दो समूहों के 40 विषय हैं।ggplot2

मैं एक साजिश रखना चाहता हूं जहां: x = time, y = T, रेखाएं समूहों द्वारा विषयों और रंगों द्वारा हैं।

मैंने पाया इसे इस तरह किया जा सकता है:

TIME <- paste("week",5:20) 
ID <- 1:40 
GROUP <- sample(c("a","b"),length(ID), replace = T) 
group.id <- data.frame(GROUP, ID) 
a <- expand.grid(TIME, ID) 
colnames(a) <-c("TIME", "ID") 
group.id.time <- merge(a, group.id) 
Y <- rnorm(dim(group.id.time)[1], mean = ifelse(group.id.time$GROUP =="a",1,3)) 
DATA <- cbind(group.id.time, Y) 
qplot(data = DATA, 
     x=TIME, y=Y, 
     group=ID,  
     geom = c("line"),colour = GROUP) 

लेकिन अब मैं साजिश कुछ में जोड़ने के लिए (उदाहरण के लिए दो समूहों के बीच अंतर, प्रत्येक समूह के लिए एक प्रवृत्ति लाइन को दिखाने के लिए, साथ इच्छा कुछ सीआई shadelines) - यह कैसे किया जा सकता है?

मुझे याद है कि ggplot2 (आसानी से) geom_smooth के साथ ऐसा कर सकता है, लेकिन मुझे यह काम करने के बारे में कुछ याद आ रहा है।

इसके अलावा, मुझे आश्चर्य हुआ कि लाइनें प्रत्येक समूह के लिए बॉक्सप्लॉट की तरह हो सकती हैं (विभिन्न क्वांटाइल और बाड़ के लिए एक लाइन के साथ)। लेकिन मुझे लगता है कि पहले सवाल का जवाब देने से मुझे दूसरे को हल करने में मदद मिलेगी।

धन्यवाद।

उत्तर

16
p <- ggplot(data=DATA, aes(x=TIME, y=Y, group=ID)) + 
      geom_line(aes(colour=GROUP)) + 
      geom_smooth(aes(group=GROUP)) 

geom_smooth plot http://img143.imageshack.us/img143/7678/geomsmooth.png

+0

धन्यवाद आरसीएस। मैं 68% की बजाय छायांकित एसई को 95% कैसे बदलूं? –

+0

मैं बस ध्यान दूंगा कि डिफ़ॉल्ट चिकनाई अंतराल (मेरे ज्ञान के लिए) किसी भी ऑटो-सहसंबंध को विषय के भीतर उपस्थित नहीं करते हैं। अनुदैर्ध्य डेटा लगभग निश्चित रूप से एक सहसंबंध संरचना होगी। मुझे वास्तव में इस तरह की साजिश पसंद है। –

+0

आप 'stat_smooth' (डिफ़ॉल्ट रूप से 0.95) में 'लेवल' का उपयोग कर सकते हैं:' p + geom_smooth (स्तर = 0.95, एईएस (समूह = समूह)) ' – rcs

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

  • कोई संबंधित समस्या नहीं^_^