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? > > Siguehttp://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 > >
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
>
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 delpaquete> >>> 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, esque R no> >>> me reconoce que "res" sea una lista. En concreto, me aparece esteerror:> >>> > >>> 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 > >