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]]
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]]
Es decir, que S4 convierte a R en un lenguaje orientado a objetos? Gracias por la respuesta anterior Carlos, Jes?s Enviado desde Correo<https://go.microsoft.com/fwlink/?LinkId=550986> para Windows 10 ________________________________ De: Carlos J. Gil Bellosta <cgb en datanalytics.com> Enviado: Sunday, December 9, 2018 5:22:59 PM Para: Jes?s Para Fern?ndez Cc: r-help-es Asunto: Re: [R-es] Clases S3, S4... 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]]
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]]