Hola Lucas,

La transformación de las fechas a formato julian, puedes utilizar la
librería "chron" que justamente contempla esta transformación y te indica
claramente el origen para la transformación.

De esta manera haces todo en R, y evitas cualquier manipulación adicional.

Me alegro de que te haya funcionado finalmente.

Saludos,
Carlos.

2010/7/5 Lucas Bianchi <bianchi_lucas@yahoo.com.ar>

> Hola Carlos,
> afortunadamente, encontré una solución a mi problema (hasta ahora al menos
> me funciona, veremos si más adelante se me complica con alguna otra cosa)
> Llogré resolver el problema usando el parámetro "labels" de la función
> "axis()". Lo que hice es algo así:
>
> *datos <- read.table(....)*
> #en el archivo datos, tengo una columna con las fechas en formato julian
> hecha en la la planilla de cálculo (en mi caso Go-oo).
> #Para graficar, defino los rangos de cada eje
> *x1 <- as.integer(min(datos$julian))
> x2 <- as.integer(max(datos$julian))
> ejejx <- c(x1, x2)
> ejey <- range(datos$ch)*
> # y la solución que encontré a mi problema es esta:
> # Primero, a partir de las fechas en Julian de mi archivo datos, armo un
> vector con las posiciones donde irían las marcas en el
> # eje-x.
> *etiquetaJ <- seq(x1,x2, by=7)*
> # Luego, transformo esos valores a tipo Date y luego a tipo String para que
> puedan ser usados como etiquetas (no probé si como
> # tipo date alcanza, pero así funciona)
> *etiquetaC <- as.character(format(as.Date(etiquetaJ, origin="1899-12-30"),
> "%d/%m"))*
> # Es importante buscar el valor de "origin" adecuado, porque al transformar
> entre fechas de tipo Julian y Calendario, la
> # transformación se hace a partir de una fecha de origen que, aparentemente
> no es la misma para cada programa (Go-oo, R, MS-Excel, etc.)
> # yo fui probando hasta que llegue a que el origen que tenía que usar era
> 30/12/1899, suele ser 01/01/1900, no sé porque en este
> # caso lo tuve que atrasar dos días.
> # Ahora armo los ejes del gráfico
> *par(las=2, mgp=c(4, 1, 0), mai=c(1.2,1.2,0.5,0.5))
> plot(ejejx,ejey, type="n", xaxt="n", xlab="Date", ylab="CH(%)")*
> # En la instrucción siguiente está la solución, le digo que ponga las
> marcas
> en el eje-x según el vector que armé con las fechas
> # Julian pero que las etiquetas las ponga con el vector que tiene las
> fechas
> tipo Calendario.
> *axis(1, at=seq(x1,x2, by=7), labels=etiquetaC)*
> # Listo, después de esto voy agregando los puntos para cada uno de los
> tipos
> que tengo dentro de datos, usando como referencia
> # los valores Julian
> *datos$tipo_num <- as.numeric(datos$tipo)
> n_tipo <- max(datos$tipo_num)*
> *for (i in 1:n_tipo) {
>  tipo <- subset(datos, tipo_num==i)
>    points(tipo$julian, tipo$ch, col=1, bg=8, pch=tipo$dibujo[1], cex=1.4)*
>    # dibujo las líneas verticales de las barras de error
>    *segments(tipo$julian, tipo$ch, tipo$julian, tipo$ch-tipo$desv_std, col=
> 'black')
>    segments(tipo$julian, tipo$ch, tipo$julian, tipo$ch+tipo$desv_std, col=
> 'black'*)
>    #para que quede prolijo, también las lineas horizantales en cada uno de
> los extremos
> *    segments(tipo$julian-0.5, tipo$ch-tipo$desv_std, tipo$julian+0.5,
> tipo$ch-tipo$desv_std, col= 'black')
>    segments(tipo$julian-0.5, tipo$ch+tipo$desv_std, tipo$julian+0.5,
> tipo$ch+tipo$desv_std, col= 'black')*
>    }
>
> Seguro que se puede mejorar un poco, pero funciona y me resuelve el
> problema, con el tiempo lo iré mejorando. Sé que se le pueden hacer unos
> cambios para que quede un poco más claro y breve, pero ahora estaba
> tratando
> de resolver el problemita este de las fechas y las barras de error.
> A mi me funcionó, espero que si alguien más se topa con este problema
> también le le sirva y si alguien conoce una forma mejor o más sencilla me
> encantaría conocerla.
>
> Saludos y Gracias!!!
> Lucas.
>
>         [[alternative HTML version deleted]]
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>

	[[alternative HTML version deleted]]

