Y para completar, también existen las reference class o las más modernas R6. https://adv-r.hadley.nz/r6.html Que se parecen más a los lenguajes más orientados a objetos, con sus herencias y demás historias. dom., 9 dic. 2018 17:23, Carlos J. Gil Bellosta <cgb en datanalytics.com> escribió:> Hola, ¿qué tal? > > S3 es un sistema de clases bastante primitivo. Está pensado esencialmente > para poder usar la misma función (p.e., plot) con diversos tipos de > objetos. Funciona esencialmente así: > > 1) Se define una función, p.e., plot, como genérica. > 2) Los autores de paquetes, etc. crean objetos y les asignan una clase > (p.e., "lm"). > 3) Si esos autores quieren usar plot para su objeto, crean una función con > el nombre plot.lm (el nombre de la función genérica, seguido de punto y > seguido del nombre de la clase). > 4) R, cuando ve plot(x), pregunta a x su clase (X) y le aplica la función > plot.X correspondiente (de existir). > > Cuando los expertos en informática ven eso siempre preguntan: ¿en serio? > Porque es muy, muy cutre. Pero efectivo. > > Las clases S4 implementan un mecanismo de orientación a objetos más similar > a los de otros lenguajes con OO: Python, Java y otros. > > Un saludo, > > Carlos J. Gil Bellosta > http://www.datanalytics.com > > > > El dom., 9 dic. 2018 a las 14:26, Jesús Para Fernández (< > j.para.fernandez en hotmail.com>) escribió: > > > Buenas > > > > Desde hace ya bastante tiempo veo viendo que hay diferentes tipos de > > clases en R, las mas viejas, S3, y luego algunas mas modernas como S4,... > > ¿Que diferencias existen entre estas clases? Alguna buena referencia la > > respecto, que sea entendible por un profano de la informatica?> > > > > > Gracias > > Jesús > > > > [[alternative HTML version deleted]] > > > > _______________________________________________ > > R-help-es mailing list > > R-help-es en r-project.org > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >[[alternative HTML version deleted]]
Y por si quieres aprender un poco más... https://www.datacamp.com/courses/object-oriented-programming-in-r-s3-and-r6 Saludos, Carlos Ortega www.qualityexcellence.es El dom., 9 dic. 2018 a las 17:43, José Luis Cañadas (<canadasreche en gmail.com>) escribió:> Y para completar, también existen las reference class o las más modernas > R6. https://adv-r.hadley.nz/r6.html > Que se parecen más a los lenguajes más orientados a objetos, con sus > herencias y demás historias. > > dom., 9 dic. 2018 17:23, Carlos J. Gil Bellosta <cgb en datanalytics.com> > escribió: > > > Hola, ¿qué tal? > > > > S3 es un sistema de clases bastante primitivo. Está pensado esencialmente > > para poder usar la misma función (p.e., plot) con diversos tipos de > > objetos. Funciona esencialmente así: > > > > 1) Se define una función, p.e., plot, como genérica. > > 2) Los autores de paquetes, etc. crean objetos y les asignan una clase > > (p.e., "lm"). > > 3) Si esos autores quieren usar plot para su objeto, crean una función > con > > el nombre plot.lm (el nombre de la función genérica, seguido de punto y > > seguido del nombre de la clase). > > 4) R, cuando ve plot(x), pregunta a x su clase (X) y le aplica la función > > plot.X correspondiente (de existir). > > > > Cuando los expertos en informática ven eso siempre preguntan: ¿en serio? > > Porque es muy, muy cutre. Pero efectivo. > > > > Las clases S4 implementan un mecanismo de orientación a objetos más > similar > > a los de otros lenguajes con OO: Python, Java y otros. > > > > Un saludo, > > > > Carlos J. Gil Bellosta > > http://www.datanalytics.com > > > > > > > > El dom., 9 dic. 2018 a las 14:26, Jesús Para Fernández (< > > j.para.fernandez en hotmail.com>) escribió: > > > > > Buenas > > > > > > Desde hace ya bastante tiempo veo viendo que hay diferentes tipos de > > > clases en R, las mas viejas, S3, y luego algunas mas modernas como > S4,... > > > ¿Que diferencias existen entre estas clases? Alguna buena referencia la > > > respecto, que sea entendible por un profano de la informatica?> > > > > > > > > Gracias > > > Jesús > > > > > > [[alternative HTML version deleted]] > > > > > > _______________________________________________ > > > R-help-es mailing list > > > R-help-es en r-project.org > > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > > > > [[alternative HTML version deleted]] > > > > _______________________________________________ > > R-help-es mailing list > > R-help-es en r-project.org > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]
La verdad es que todas las aportaciones son muy muy interesantes, MI pregunta siguiente: Habeis usado R para programar orientado a objetos alguna vez? Porque yo hago mucho scripting.... Supongo que por mi mala calidad como programador... Jes?s ________________________________ De: Carlos Ortega <cof en qualityexcellence.es> Enviado: domingo, 9 de diciembre de 2018 21:07 Para: Jes?s Para Fern?ndez Cc: Lista R Asunto: Re: [R-es] Clases S3, S4... Y por si quieres aprender un poco m?s... https://www.datacamp.com/courses/object-oriented-programming-in-r-s3-and-r6 Saludos, Carlos Ortega www.qualityexcellence.es<http://www.qualityexcellence.es> El dom., 9 dic. 2018 a las 17:43, Jos? Luis Ca?adas (<canadasreche en gmail.com<mailto:canadasreche en gmail.com>>) escribi?: Y para completar, tambi?n existen las reference class o las m?s modernas R6. https://adv-r.hadley.nz/r6.html Que se parecen m?s a los lenguajes m?s orientados a objetos, con sus herencias y dem?s historias. dom., 9 dic. 2018 17:23, Carlos J. Gil Bellosta <cgb en datanalytics.com<mailto:cgb en datanalytics.com>> escribi?:> Hola, ?qu? tal? > > S3 es un sistema de clases bastante primitivo. Est? pensado esencialmente > para poder usar la misma funci?n (p.e., plot) con diversos tipos de > objetos. Funciona esencialmente as?: > > 1) Se define una funci?n, p.e., plot, como gen?rica. > 2) Los autores de paquetes, etc. crean objetos y les asignan una clase > (p.e., "lm"). > 3) Si esos autores quieren usar plot para su objeto, crean una funci?n con > el nombre plot.lm (el nombre de la funci?n gen?rica, seguido de punto y > seguido del nombre de la clase). > 4) R, cuando ve plot(x), pregunta a x su clase (X) y le aplica la funci?n > plot.X correspondiente (de existir). > > Cuando los expertos en inform?tica ven eso siempre preguntan: ?en serio? > Porque es muy, muy cutre. Pero efectivo. > > Las clases S4 implementan un mecanismo de orientaci?n a objetos m?s similar > a los de otros lenguajes con OO: Python, Java y otros. > > Un saludo, > > Carlos J. Gil Bellosta > http://www.datanalytics.com > > > > El dom., 9 dic. 2018 a las 14:26, Jes?s Para Fern?ndez (< > j.para.fernandez en hotmail.com<mailto:j.para.fernandez en hotmail.com>>) escribi?: > > > Buenas > > > > Desde hace ya bastante tiempo veo viendo que hay diferentes tipos de > > clases en R, las mas viejas, S3, y luego algunas mas modernas como S4,... > > ?Que diferencias existen entre estas clases? Alguna buena referencia la > > respecto, que sea entendible por un profano de la informatica?> > > > > > Gracias > > Jes?s > > > > [[alternative HTML version deleted]] > > > > _______________________________________________ > > R-help-es mailing list > > R-help-es en r-project.org<mailto:R-help-es en r-project.org> > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org<mailto:R-help-es en r-project.org> > https://stat.ethz.ch/mailman/listinfo/r-help-es >[[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es en r-project.org<mailto:R-help-es en r-project.org> https://stat.ethz.ch/mailman/listinfo/r-help-es -- Saludos, Carlos Ortega www.qualityexcellence.es<http://www.qualityexcellence.es> [[alternative HTML version deleted]]