2010-11-17 22 views
15

Farklı senaryolarda birçok model çalışmasını temsil eden bazı verilerimiz var. Tek bir senaryo için, yumuşatılmış ortalamayı, belirli bir noktada standart sapmayı temsil eden doldurulmuş alanlar ile, smofikasyonun kalitesinden ziyade, göstermek isteriz. Örneğingeom_smooth ve ggplot kullanarak standart ifadeyi göster

:

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() 

koşular arasındaki SD en yumuşak çubuklar aynı boyutta kalır, artıyor olsa da iki temsil ishal ve düzleştirilmiş ortalama bir grafik üretir, ama. Belirli bir zaman diliminde daha düzgün bir standart sapmanın çevresini yapmak istiyorum.

Birçok farklı çalışma ve çıkış değişkenleri göz önüne alındığında, bunu emek yoğun olmayan bir şekilde yapmak mümkün mü? Doğru istediğini anlarsanız

cevap

15

Merhaba ben emin değilim, ama örneğin

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) 

not ggplot2 sonraki sürümünde görünmesi mean_se gidiyor.

+0

Bu harika, teşekkürler! –

İlgili konular