[R-es] Método S3 paquete

Guillermo.Vinue en uv.es Guillermo.Vinue en uv.es
Lun Jul 27 10:46:30 CEST 2015


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



Más información sobre la lista de distribución R-help-es