Muchas gracias Francisco ! Fuiste de gran ayuda. Me resultó un desafío entender
bien el código pero lo logré y queda impecable.Lejos estoy de que se me ocurran
tales cosas. Lo único que modifiqué es el signo que te muestro entre llaves en
la siguiente sentencia del loop. Porque el factor de la derecha, que es el
tiempo que hay que "sumar", siempre resulta negativo.
zeros <- c(zeros, tiempo[i] +{-} (valor[i] - qmed) * (tiempo[i + 1] -
tiempo[i])/(valor[i + 1] - valor[i]))
Gracias de nuevo ! Un saludo
Agustín
> From: francisco.mauro@upm.es
> To: r-help-es@r-project.org
> Date: Fri, 31 May 2013 13:09:42 +0200
> Subject: Re: [R-es] consulta
>
> Hola Agustin
>
> Creo que esto te podría valer
>
>
>
> Tiempos<-rnorm(100)
> Caudales<-rnorm(100)
> qmed<-0
>
> #Tiempos<-c(1,3,5)
> #Caudales<-c(-1,1,-1)
>
> zeros<-function(tiempo,valor,qmed){
>
> orden<-order(tiempo)
> tiempo<-tiempo[orden]
> valor<-valor[orden]
> zeros<-c()
> for(i in 1:(length(tiempo)-1)){
>
>
> if((valor[i]-qmed)*(valor[i+1]-qmed)<0){
>
>
>
>
zeros<-c(zeros,tiempo[i]+(valor[i]-qmed)*(tiempo[i+1]-tiempo[i])/(valor[i+1]
> -valor[i]))
>
>
> }
>
>
>
> }
>
> zeros
>
> }
>
>
>
> tiemposb<-c(Tiempos,zeros(Tiempos,Caudales,qmed))
> Caudalesb<-c(Caudales,rep(0,length(tiemposb)-length(Caudales)))
>
> orden<-order(tiemposb)
> tiemposb<-tiemposb[orden]
> Caudalesb<-Caudalesb[orden]
>
> positivos<-ifelse(Caudalesb<=0,0,Caudalesb)
> negativos<-ifelse(Caudalesb>=0,0,Caudalesb)
>
>
> plot(tiemposb,Caudalesb,type="l")
> points(tiemposb,Caudalesb)
> abline(h=qmed)
>
polygon(c(min(tiemposb),tiemposb,max(tiemposb)),c(qmed,positivos,qmed),col="
> blue")
>
polygon(c(min(tiemposb),tiemposb,max(tiemposb)),c(qmed,negativos,qmed),col="
> red")
>
>
>
> Un saludo
>
> -----Mensaje original-----
> De: r-help-es-bounces@r-project.org
[mailto:r-help-es-bounces@r-project.org]
> En nombre de r-help-es-request@r-project.org
> Enviado el: viernes, 31 de mayo de 2013 12:00 p.m.
> Para: r-help-es@r-project.org
> Asunto: Resumen de R-help-es, Vol 51, Envío 52
>
> Envíe los mensajes para la lista R-help-es a
> r-help-es@r-project.org
>
> Para subscribirse o anular su subscripción a través de la WEB
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
> O por correo electrónico, enviando un mensaje con el texto "help"
en el
> asunto (subject) o en el cuerpo a:
> r-help-es-request@r-project.org
>
> Puede contactar con el responsable de la lista escribiendo a:
> r-help-es-owner@r-project.org
>
> Si responde a algún contenido de este mensaje, por favor, edite la linea
del
> asunto (subject) para que el texto sea mas especifico que:
> "Re: Contents of R-help-es digest...". Además, por favor, incluya
en la
> respuesta sólo aquellas partes del mensaje a las que está respondiendo.
>
>
> Asuntos del día:
>
> 1. consulta (agustin a)
> 2. Re: consulta (Carlos Ortega)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Fri, 31 May 2013 00:48:34 +0000
> From: agustin a <agustindewy@hotmail.com>
> To: R <r-help-es@r-project.org>
> Subject: [R-es] consulta
> Message-ID: <BAY170-W47ECB53AC4F471F72E39CBB3920@phx.gbl>
> Content-Type: text/plain
>
> Buenas a todos, no encuentro la forma de hacer lo que quiero hacer, a ver
si
> alguien me muestra el camino.
> La cuestión es así:
> estoy graficando una serie temporal en la cual tengo un único valor por mes
> del caudal de un río. La serie es de unos 4 años. Lo grafico con plot(...,
> type="l") y le agrego una abline() horizontal con un valor de
caudal
> ficticio para mi serie temporal pero que representa el caudal histórico de
> dicho río. Lo que quiero lograr es colorear de un color el área que se
forma
> encima de la abline y de otro color el área debajo de la misma.Para que se
> entienda mejor acá dejo una imagen de un gráfico similar al
>
miohttp://rgm3.lab.nig.ac.jp/RGM-files//work/AER/Greene2003/Greene2003_013_l
> arge.png
> Logré pintar los 2 conjuntos de áreas de un mismo color tratandolo como un
> polígono, con polygon(), pero no logro pintarlas de diferente color.
También
> traté de dividir los datos para tratarlos como 2 polígonos distintos pero
no
> es posible ya que la abline es ficticia y no contiene valores reales, es
> decir, no intercepta realmente con la línea del plot.
> Agradezco cualquier idea o ayuda
> Agustín
>
>
> [[alternative HTML version deleted]]
>
>
>
> ------------------------------
>
> Message: 2
> Date: Fri, 31 May 2013 10:02:41 +0200
> From: Carlos Ortega <cof@qualityexcellence.es>
> To: agustin a <agustindewy@hotmail.com>
> Cc: R <r-help-es@r-project.org>
> Subject: Re: [R-es] consulta
> Message-ID:
> <CAOKbq8iXpzqNrRxH33=5+Y5qsAD6_S33NQ=qgP90REPsavUDQA@mail.gmail.com>
> Content-Type: text/plain
>
> Hola Agustín,
>
> Mira si estas referencias te pueden ayudar:
>
> http://www.nicebread.de/shading-regions-of-the-normal-the-stanine-scale/
> http://ucfagls.wordpress.com/2013/01/11/shading-regions-under-a-curve/
>
>
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
>
>
> El 31 de mayo de 2013 02:48, agustin a <agustindewy@hotmail.com>
escribió:
>
> > Buenas a todos, no encuentro la forma de hacer lo que quiero hacer, a
> > ver si alguien me muestra el camino.
> > La cuestión es así:
> > estoy graficando una serie temporal en la cual tengo un único valor
> > por mes del caudal de un río. La serie es de unos 4 años. Lo grafico
> > con plot(..., type="l") y le agrego una abline() horizontal
con un
> > valor de caudal ficticio para mi serie temporal pero que representa el
> > caudal histórico de dicho río. Lo que quiero lograr es colorear de un
> > color el área que se forma encima de la abline y de otro color el área
> > debajo de la misma.Para que se entienda mejor acá dejo una imagen de
> > un gráfico similar al miohttp://
> > rgm3.lab.nig.ac.jp/RGM-files//work/AER/Greene2003/Greene2003_013_large
> > .png Logré pintar los 2 conjuntos de áreas de un mismo color
> > tratandolo como un polígono, con polygon(), pero no logro pintarlas de
> > diferente color.
> > También traté de dividir los datos para tratarlos como 2 polígonos
> > distintos pero no es posible ya que la abline es ficticia y no
> > contiene valores reales, es decir, no intercepta realmente con la
línea
> del plot.
> > Agradezco cualquier idea o ayuda
> > Agustín
> >
> >
> > [[alternative HTML version deleted]]
> >
> >
> > _______________________________________________
> > R-help-es mailing list
> > R-help-es@r-project.org
> > https://stat.ethz.ch/mailman/listinfo/r-help-es
> >
> >
>
>
> --
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
>
> [[alternative HTML version deleted]]
>
>
>
> ------------------------------
>
> _______________________________________________
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>
> Fin de Resumen de R-help-es, Vol 51, Envío 52
>
> _______________________________________________
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
[[alternative HTML version deleted]]