2010-11-17 18 views
15

का उपयोग कर मानक समर्पण दिखाएं हमारे पास कुछ डेटा है जो विभिन्न परिदृश्यों के तहत कई मॉडल रनों का प्रतिनिधित्व करता है। एक परिदृश्य के लिए, हम चिकनाई के फिट की गुणवत्ता की बजाय समय पर किसी विशेष बिंदु पर मानक विचलन का प्रतिनिधित्व करने वाले भरे क्षेत्रों के साथ चिकना मतलब प्रदर्शित करना चाहते हैं।geom_smooth और ggplot

उदाहरण के लिए:

d <- as.data.frame(rbind(cbind(1:20, 1:20,1), cbind(1:20, -1:-20,2))) 
names(d)<-c("Time","Value","Run") 
ggplot(d, aes(x=Time,y=Value)) + geom_line(aes(group=Run)) + geom_smooth() 

एक सरल मतलब दो रन प्रतिनिधित्व किया, और के साथ एक ग्राफ पैदा करता है, लेकिन फिर भी रन के बीच एसडी बढ़ रही है, के चिकनी सलाखों एक ही आकार के रहते हैं। मैं किसी दिए गए समय पर चिकनी प्रतिनिधित्व मानक विचलन के चारों ओर घूमना चाहता हूं।

क्या ऐसा करने का कोई गैर-श्रम गहन तरीका है, कई अलग-अलग रन और आउटपुट चर दिए गए हैं?

उत्तर

15

हाय मैं यकीन है कि अगर मैं सही ढंग से समझ तुम क्या चाहते नहीं कर रहा हूँ, लेकिन उदाहरण के लिए,

d <- data.frame(Time=rep(1:20, 4), 
       Value=rnorm(80, rep(1:20, 4)+rep(1:4*2, each=20)), 
       Run=gl(4,20)) 

mean_se <- function(x, mult = 1) { 
    x <- na.omit(x) 
    se <- mult * sqrt(var(x)/length(x)) 
    mean <- mean(x) 
    data.frame(y = mean, ymin = mean - se, ymax = mean + se) 
} 

ggplot(d, aes(x=Time,y=Value)) + geom_line(aes(group=Run)) + 
    geom_smooth(se=FALSE) + 
    stat_summary(fun.data=mean_se, geom="ribbon", alpha=0.25) 

टिप्पणी mean_se ggplot2 के अगले संस्करण में प्रदर्शित करने के लिए जा रहा है कि।

+0

यह बढ़िया है, धन्यवाद! –