Buenos días, Estoy intentando representar una curva suavizada con smooth.spline() usando ggplot2 en lugar de plot, que ofrece un gráfico más simple: attach(cars) cars.spline1 <- smooth.spline(speed, dist) *# gráfico simple* plot(speed, dist) lines(cars.spline1, col="red") [image: image.png] *# ggplot2* Quisiera usar ggplot2, pero el resultado que obtengo no es el mismo: pet = ggplot() + geom_point(data = cars, aes(x = speed, y = dist), color "blue") + geom_line(data = cars, aes(x = speed, y = cars.spline1$data$y, color = "red"))> pet[image: image.png] ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20220513/58025315/attachment-0001.html> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 8359 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20220513/58025315/attachment-0002.png> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 10922 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20220513/58025315/attachment-0003.png>
Hola David: Tienes que usar el geom específico para splines: ggplot(cars, aes(speed, dist)) + geom_point() + geom_smooth(method="gam") Un saludo, Marcelino El 13/05/2022 a las 16:34, David Aguinaga escribió:> > > No suele recibir correos electrónicos de egarense21 en gmail.com. Por qué > esto es importante <https://aka.ms/LearnAboutSenderIdentification> > > > Buenos días, > > Estoy intentando representar una curva suavizada con smooth.spline() > usando ggplot2 en lugar de plot, que ofrece un gráfico más simple: > > attach(cars) > > cars.spline1 <- smooth.spline(speed, dist) > > *# gráfico simple* > plot(speed, dist) > lines(cars.spline1, col="red") > image.png > *# ggplot2* > Quisiera usar ggplot2, pero el resultado que obtengo no es el mismo: > > pet = ggplot() + geom_point(data = cars, aes(x = speed, y = dist), > color = "blue") + geom_line(data = cars, aes(x = speed, y = > cars.spline1$data$y, color = "red")) > > pet > image.png > > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es-- Marcelino de la Cruz Rot Depto. de Biología y Geología Física y Química Inorgánica Universidad Rey Juan Carlos Móstoles España
Hola David, Quizás esto te puede ayudar. He comentado la lineas de los otros métodos de ajuste disponibles en la función status_smooth(). library("tidyverse") pet <- ggplot(data = cars, aes(x = speed, y = dist)) + geom_point(stat="identity", color = "blue", alpha=0.9) + stat_smooth(method="lm", color = "red")+ #stat_smooth(method="loess", color = "red")+ #stat_smooth(method="gam", color = "red")+ theme_bw() pet Las salidas con ?loess? y ?lm" Espero ayude Saludos> On 13-05-2022, at 10:34, David Aguinaga <egarense21 en gmail.com> wrote: > > Buenos días, > > Estoy intentando representar una curva suavizada con smooth.spline() usando ggplot2 en lugar de plot, que ofrece un gráfico más simple: > > attach(cars) > > cars.spline1 <- smooth.spline(speed, dist) > > # gráfico simple > plot(speed, dist) > lines(cars.spline1, col="red") > <image.png> > # ggplot2 > Quisiera usar ggplot2, pero el resultado que obtengo no es el mismo: > > pet = ggplot() + geom_point(data = cars, aes(x = speed, y = dist), color = "blue") + geom_line(data = cars, aes(x = speed, y = cars.spline1$data$y, color = "red")) > > pet > <image.png> > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es-- C*ertificación ISO 9001/2015*: Sistema de Datos Biológico-Pesqueros (Arica, Iquique, Coquimbo, Valparaíso, San Antonio, Talcahuano y Calbuco, pesquerías industriales y artesanales) ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20220513/4ef7153a/attachment-0003.html> ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20220513/4ef7153a/attachment-0004.html> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: pet Type: application/octet-stream Size: 47418 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20220513/4ef7153a/attachment-0002.obj> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: petlo Type: application/octet-stream Size: 45567 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20220513/4ef7153a/attachment-0003.obj> ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20220513/4ef7153a/attachment-0005.html>
David, Digo que ya te lo habrán pasado, pero, por si acaso: ggplot(data = cars, aes(x = speed, y = dist)) + geom_point(color = "blue") + geom_smooth(method = lm, color = 2) + theme_classic() Está pensado con otra cabeza ggplot. Es tipo: Escuchá GG, quiero hacer un grafico con los datos de /cars/, dibujame en x /speed/ y en y /dist/ + quiero que el gráfico sea de puntos, + y ya que estás, poneme una linea esfumada según la dispersion (que la linea sea una /lm/!) + ah! que se parezca a los graficos clásicos. Suerte 22/5/13 16:34(e)an, David Aguinaga igorleak idatzi zuen:> pet = ggplot() + geom_point(data = cars, aes(x = speed, y = dist), > color = "blue") + geom_line(data = cars, aes(x = speed, y = > cars.spline1$data$y, color = "red"))-- Juan Abasolo, PhD Hizkuntzaren eta Literaturaren Didaktika Saila | EUDIA ikerketa taldea Bilboko Hezkuntza Fakultatea Euskal Herriko Unibertsitatea UPV/EHU Sarriena auzoa z/g 48940 - Leioa (Bizkaia) T : (+34) 94 601 7567 Telegram: @JuanAbasolo Skype : abasolo72 Bloga : juanabasolo.netlify.com [[alternative HTML version deleted]]