Hola,

Por si a alguien le sirve, he encontrado una posible soluci�n a la duda que me 
planteaba en este mismo hilo el pasado 1 de febrero:


par(mfrow = c(2, 1), las = 1)
for(i in 1:length(unique(dt$id))) {
  kat <- factor(dt$id, labels = 1:length(unique(dt$id)))
  maxid <- max(table(dt$id))
  plot(seq(from = min(dt$edad[kat == i]), to = max(dt$edad[kat == i])), 
dt$valor[kat == i],
     pch = 16, xaxt = "n", xlab ="", ylab = "", main = "",
     xlim = c(  min(dt$edad[kat == i]) , min(dt$edad[kat == i]) + maxid - 1 ), 
ylim = c(0, max(dt$valor)))
  axis(1, at = seq(from = min(dt$edad[kat == i]), to = min(dt$edad[kat == i]) + 
maxid - 1))
  mtext("edad", side = 1, line = 2.5)
  mtext(bquote(.(unique(dt$id)[i])), side = 3, line = 0.5)
  }


Saludos.


________________________________
De: Francisco Javier <[email protected]>
Enviado: mi�rcoles, 01 de febrero de 2017 20:25
Para: [email protected]
Asunto: Perfiles longitudinales con eje de abscisas adaptado a cada individuo


Buenas tardes a todo el mundo,


Sirva como ejemplo el siguiente data frame con datos longitudinales de 2 
individuos:

dt <- data.frame(id = rep(c(1,2), c(3,5)),

        edad = c(50,51,52,43,44,45,46,47),

        valor = c(220,450,540,320,570,200,700,100))


Querr�a representar (sin recurrir a ning�n package) el perfil de los 2 
individuos de modo que en cada eje de abscisas:
a) La primera edad de cada individuo es su primera edad con valor (edades 
enteras anuales).
b) Para cada id hayan el mismo n�mero de ticks, que ser� igual al n�mero de 
mediciones del individuo con m�s valores (id=2 con 5 valores)

El c�digo siguiente hace "casi" lo que deseo, pero el inconveniente es que el 
eje de abscisas que queda escrito siempre va desde 1 hasta 5, y lo

que querr�a es que en id=1 fuese {50,51,52,53,54} (aunque no haya datos en las 
edades 53 y 54), mientras que en id=2 deber�a de poner {43,44,45,46,47}.


par(mfrow = c(2, 1), las = 1)

for(i in 1:length(unique(dt$id))) {
   kat <- factor(dt$id, labels = 1:length(unique(dt$id)))
   plot(dt$valor[kat == i],
   pch = 16, xaxt = "n", xlab ="", ylab = "", main = "",
   xlim = c(1, max(table(dt$id))), ylim = c(0, max(dt$valor)))
   axis(1, at = 1:max(table(dt$id)))
   mtext("edad", side = 1, line = 2.5)
   mtext( bquote( .(unique(dt$id)[i])), side = 3, line = 0.5)
 }


[[elided Hotmail spam]]

        [[alternative HTML version deleted]]

_______________________________________________
R-help-es mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-help-es

Responder a