[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