[R-es] Método S3 paquete
Guillermo.Vinue en uv.es
Guillermo.Vinue en uv.es
Mie Jul 29 12:58:34 CEST 2015
Hola Rubén,
Muchas gracias.
Un saludo,
Guillermo
> Hola a ambos,
>
> Otra referencia que puede ser de interés es:
> http://r-pkgs.had.co.nz y también http://adv-r.had.co.nz (las dos de
> Hadley Wickham...)
>
> Un saludo, Rubén.
>
>
> El 27/07/2015 a las 10:46, Guillermo.Vinue en uv.es escribió:
> > Hola Carlos,
> >
> > Muchas gracias por el enlace, me ha sido de gran ayuda. Ya he entendido
> > cómo funciona el sistema S3.
> >
> > Un saludo,
> >
> > Guillermo
> >
> >> Hola, ¿qué tal?
> >>
> >> Sigue
> >
http://www.datanalytics.com/2011/08/04/desarrollo-de-paquetes-con-r-iv-funciones-genericas/
> >> a rajatabla y lo tendrás.
> >>
> >> Un saludo,
> >>
> >> Carlos J. Gil Bellosta
> >> http://www.datanalytics.com
> >>
> >> P.D.: Si te fijas bien, no estás siguiendo esa guía "a rajatabla".
> >>
> >> El día 23 de julio de 2015, 16:26, <Guillermo.Vinue en uv.es> escribió:
> >>> Hola,
> >>>
> >>> Estoy tratando de crear un método S3 llamado "anthr" dentro del
paquete
> >>> que estoy desarrollando, cuyo argumento principal es "res" que
> >>> básicamente es una lista con un solo componente. Pero si el segundo
> >>> argumento llamado "oneSize" es FALSE, "res" es una lista de listas.
> >>>
> >>> Lo que he escrito hasta el momento es lo siguiente:
> >>>
> >>> anthr <- function(res, oneSize, nsizes){
> >>> UseMethod("anthr")
> >>> }
> >>>
> >>> anthr.tri <- function(res, oneSize, nsizes){
> >>>
> >>> if(oneSize){
> >>> cases <- c()
> >>> cases <- res$meds
> >>> }else{
> >>> cases <- list()
> >>> for (i in 1 : (nsizes - 1)){
> >>> cases[[i]] <- res[[i]]$meds
> >>> }
> >>> }
> >>> return(cases)
> >>> }
> >>>
> >>> El problema cuando instalo el paquete y utilizo este método, es
que R no
> >>> me reconoce que "res" sea una lista. En concreto, me aparece este
error:
> >>>
> >>> Error in UseMethod("anthr") :
> >>> no applicable method for 'anthr' applied to an object of class
"list"
> >>>
> >>> He tratado de añadir esto:
> >>>
> >>> tri <- function(x){
> >>> value <- list(meds = x$meds)
> >>> attr(value, "class") <- "tri"
> >>> value
> >>> }
> >>>
> >>> pero sigue sin funcionarme. ¿Alguien puede ofrecerme alguna ayuda? .
> >>>
> >>> Muchas gracias de antemano.
> >>>
> >>> Un saludo,
> >>>
> >>> Guillermo
> >>>
> >>> _______________________________________________
> >>> R-help-es mailing list
> >>> R-help-es en r-project.org
> >>> https://stat.ethz.ch/mailman/listinfo/r-help-es
> >>
> > _______________________________________________
> > R-help-es mailing list
> > R-help-es en r-project.org
> > https://stat.ethz.ch/mailman/listinfo/r-help-es
> >
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>
Más información sobre la lista de distribución R-help-es