[R-es] Método S3 paquete
Guillermo.Vinue en uv.es
Guillermo.Vinue en uv.es
Jue Jul 23 16:26:22 CEST 2015
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
Más información sobre la lista de distribución R-help-es