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]]