[R-es] Método S3 paquete

rubenfcasal rubenfcasal en gmail.com
Mie Jul 29 12:41:31 CEST 2015


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
>



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