[R-es] Método S3 paquete

Carlos J. Gil Bellosta cgb en datanalytics.com
Vie Jul 24 23:50:11 CEST 2015


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