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