<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">Hola,</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Claro, es que con "lowes()" para la cantidad tan pequeña de datos que tienes para cada clase, no tiene mucho sentido la interpolación local que realiza "lowess" teniendo en cuenta los puntos próximos.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Fíjate que si no diferencias entre las clases de cada punto, sí que "lowess()" interpola:</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style=""><div class="gmail_default" style=""><font face="verdana, sans-serif">plot(df$x, df$y, xlab = "time", ylab="value", type="n", xlim = c(0,25), ylim=c(20,120))</font></div><div class="gmail_default" style=""><font face="verdana, sans-serif">lines(lowess(df$x, df$y, f=2/3)) </font></div><div class="gmail_default" style=""><font face="verdana, sans-serif">points(x = df$x, y = df$y, pch=16)             </font></div></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><img src="cid:ii_1534396ef7b01493" alt="Imágenes integradas 1" width="472" height="272"><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">El 4 de marzo de 2016, 17:46, Francisco Javier <span dir="ltr"><<a href="mailto:iterador10@hotmail.com" target="_blank">iterador10@hotmail.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
En primer lugar, muchas gracias a Carlos, Javier Rubén y Olivier por vuestras respuestas.<br>
<br>
Carlos: Logro egectivamente el gráfico que me adjuntas cuando aplico tu código. Lo que sucede es que me doy cuenta de que con loess no consigo ningún suavizado, pues únicamente tengo los puntos de cada sujeto unidos mediante líneas. Así, el siguiente código me proporciona el mismo resultado que con el loess:<br>
<br>
plot(df$x, df$y, xlab = "time", ylab="value", type="n")<br>
for(i in unique(df$id)) {<br>
  lines((df$y[df$id == i] ~ df$x[df$id == i]), col = df$id)  }     # Grafico simplemente las líneas<br>
<span class="">  points(x = df$x, y = df$y, pch=16, col = df$id)<br>
</span><span class="">title("Scatter Plot of value vs. time")<br>
<br>
</span>Lo que se más se asemejaría a la solución que busco es la propuesta de Olivier, salvo por dos aspectos: Dicha propuesta exige recurrir al uso de la librería ggplot2 y además impone que el suavizado pase por los puntos originales, lo cual es algo que no necesariamente quiero imponer.<br>
<br>
Finalmente, atendiendo a lo que me dice Javier Rubén, he pensado en cargar la librería splines y aplicar:<br>
<br>
plot(df$x, df$y, xlab = "time", ylab="value", type="n")<br>
for(i in unique(df$id)) {<br>
  lines((df$y[df$id == i] ~ bs(df$x[df$id == i]), col = df$id))  }   # Intento aplicar un ajuste B-spline a cada individuo con la función bs<br>
<span class="">  points(x = df$x, y = df$y, pch=16, col = df$id)<br>
</span><span class="">title("Scatter Plot of value vs. time")<br>
<br>
</span>Pero no obtengo resultado. Quizás me estoy preguntando por algo que no se puede hacer en R, pero en cualquier caso muchas gracias por vuestras sugerencias.<br>
<span class="HOEnZb"><font color="#888888"><br>
Francisco javier</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><span style="font-family:verdana,sans-serif">Saludos,</span><br style="font-family:verdana,sans-serif">
<span style="font-family:verdana,sans-serif">Carlos Ortega</span><br style="font-family:verdana,sans-serif">
<span style="font-family:verdana,sans-serif"><a href="http://www.qualityexcellence.es" target="_blank">www.qualityexcellence.es</a></span></div>
</div>