J'ai un data.frame avec plusieurs colonnes du formulaire contenant les valeurs agrégées pour chaque point de temps des variables x, y, z, w ... an: temps x_mean x_sd y_mean y_sd z_mean y_sd w_mean w_sd ...R qqplot aes_ dans une fonction et une fonction de la colonne de données
maintenant, je veux écrire une fonction qui trace la moyenne et une bande de confiance de +/- 1SD autour d'elle, avec ggplot2. mon code ressemble actuellement:
plotfunc <- function(ds1,val) {
val_mean <- paste(val,"_mean",sep="")
val_p_sd <- paste(val,"_mean + ",val,"_sd",sep="")
val_m_sd <- paste(val,"_mean - ",val,"_sd",sep="")
ggplot() + geom_line(data=ds1,aes_q(x=as.name("TIME"),y=as.name(val_mean),color="good")) +
geom_ribbon(data=ds1,aes_q(x=as.name("TIME"),ymin=as.name(val_m_sd),ymax=as.name(val_p_sd),alpha=0.3,fill="good"))
}
Et je l'appelle avec:
plotfunc(df,"x")
Il se plaint:
Error in eval(expr, envir, enclos) : object 'x_mean - x_sd' not found
Comment puis-je obtenir les limites supérieure et inférieure? Dois-je utiliser substitute
ou quote
?
Avez-vous essayé 'aes_string'? –